くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

Java

Spring BootでHTTPセッションをあつかう3つのパターン

Spring BootでHTTPセッションを使う方法は3通りあるらしい。その時の備忘録φ(..)メモメモ セッション属性(@SessionAttribute)をつかう セッションスコープBeanをつかう Http Sessionを直接つかう セッション属性(@SessionAttribute)をつかう 同一Controller…

Springの監査情報で、だれがいつ作成or更新したかを自動で付与する(SpringBoot/SpringData JPA)

DBの情報で、作成者や作成日や最終更新者や最終更新日を自分で追加していたけど、 Springに該当の機能があったので、調べたときの備忘録 やることは簡単、2ステップ。 1. Configクラスを作る @Configuration @EnableJpaAuditing public class JpaAuditorAwar…

Spring Securityのカスタマイズ、どこでなにするのか?のおぼえがき

Spring Boot/Spring Securityを使って、認証部分のカスタマイズについていろいろ調べてみた、ときの備忘録 というか、やってみたこと、というか、おぼえがき 認証全体の流れ リクエストが来たら SecurityFilter/AuthenticationFilterを通って Authentication…

JavaでURLからファイルをダウンロードする(commons-io)

URLのファイルをダウンロードしたいなと思ったけど、 commonsさんで一発だった。ので、その備忘録。 URL url = new URL("http://example.com/foo.txt"); // ダウンロードしたいURL File destFile = new File("bar.txt") // 保存先 FileUtils.copyURLToFile(u…

JavaでZipする/UnZipするzt-zipがすてき

Javaでzipファイルを扱いたいなとときの備忘録。 zt-zipが簡単そうだったので、その使い方まとめ dependenciesはこんな感じ compile 'org.zeroturnaround:zt-zip:1.12' Zipする zipする:名前はそのまま。拡張子も変わらない File targetFile = ....; // zip…

SpringBootをはじめたあとにやるはじめの一歩(Heroku使う編)

前の記事の続き。ひさびさにSpringBootでアプリを作ろうと思ったけど、だいぶ記憶が。。。 思い出してやったことの備忘録φ(..)メモメモ wannabe-jellyfish.hatenablog.com 前の記事で以下まで終わっているイメージ。ただ、言語はKotlinになりました。 Spring…

Javaのリフレクションを使ってBeanをPrettyPrintするライブラリをつくってみた(PP4j)

Javaで開発してるときに、大きめなObjectの中身を確認したいなぁーと思い、 きれいに整形してくれるプリティプリントするライブラリを探してみたけど、 なかなかいいのがなかったので、自分で作った時の備忘録 作ったライブラリはこちら。 github.com Setと…

Javaで一時停止(Sleep/Wait)する

実行中にちょっと待ちたい時があったので、その時の備忘録。 try { int sleepTime = 3000; Thread.sleep(sleepTime); // 3000ms } catch (InterruptedException e) { // 例外ハンドリング } 参考にしたサイト様 Java、Sleep処理にはThread.sleep()を使う - Y…

Mavenでよくする設定とFatJarとFatJarのクラスパス設定でハマる

javaでライブラリとかをまとめるFatJar(実行可能jar)は、Javaを知らない人に渡すときに便利。 でも、いろいろとはまったので、その備忘録。 ハマりまくって、学んだことは、2つ。 実行可能jarのクラスパスは、実行時に指定できない jar内のMETA-INF/MANIFEST…

JavaでListを固定サイズに分割するとListを逆順にする(commons-collections4: Apache Commons Collection4)

Listをサイズを10ごとに処理したいなぁというときに、いろいろ調べたので、その時の備忘録。 dependenciesの設定 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.1</version> </dependency> 使い方 List<String> list = Arrays.asList({"A", "B", "C", "D,"});; int SPLIT_SIZE = 3; List<List<String>> s…</list<string></string>

Apache Commons CSV(commons-csv)を使って、CSVファイルを読み書きする

CSVファイルを操作ことがあったので、その備忘録。 commons-csvすごい。 Dependencies MavenのDependenciesに以下を追加。 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <version>1.4</version> </dependency> CSVファイルを読み込む CSVファイルを読むときの使い方はこんな感じ。 String filePath = "/s…

Spring Boot/Spring Securityを使ってユーザ認証(独自のユーザテーブル)するときはパスワードエンコードしよう!

前の記事の続き。独自のユーザテーブルを使った時には、パスワードエンコードしよう! wannabe-jellyfish.hatenablog.com Before: パスワードエンコードなし @Configuration public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Autowi…

SpringBoot/JPAの採番はややこしい。。。

SpringBoot/JPAを使うと、アノテーションベースでテーブル定義を作れて楽ちん♪ しかし、細かいとこらラップされていたりするので、たまにはまる。。。 採番やシーケンスではまったので、その時の備忘録φ(..)メモメモ @GeneratedValue(strategy = GenerationT…

SpringBoot/SpringMVCでRepositoryのテストを楽にするspring-test-dbunit

JavaでDBのテストを書くなら、もちろんDbUnit! さらに、Spring Testing Frameworkと一緒に使うなら、Spring Test DBUnit! なのですが、環境構築する際にはまったので、そのときの備忘録φ(..)メモメモ 最終的にはこんな感じでアノテーションベースでDBUnitが…

SpringBoot/SpringMVCでファイルのダウンロード(CSV, Excel, PDF, ローカルファイル)

SpringBoot/SpringMVCでファイルをダウンロードについて調べたので、φ(..)メモメモ CSVでダウンロード @RequestMapping(value = "/download", method = RequestMethod.GET) public ResponseEntity<byte[]> download() throws IOException { HttpHeaders h = new Http</byte[]>…

SpringMVC/SpringBootのControllerチートシート[随時更新予定]

RequestMappingとかいろいろあるので、整理がてらφ(..)メモメモ 随時更新予定。 @RequestMapping // シンプルなの @RequestMapping(value = "/hoge", method = RequestMethod.GET) @RequestMapping(value = "/hoge", method = RequestMethod.POST) @RequestM…

Spring BootとSpring Securityでユーザ認証(インメモリ&独自のユーザテーブル)

Spring BootとSpring Securityのユーザ認証について、忘れがちになるので、備忘録φ(..)メモメモ 認証の方法はいくつかあるけど、今回は、 暫定対応時のインメモリDBと 本格対応時の独自ユーザテーブル の2つをメモφ(..)メモメモ まずはbuild.gradleにDepende…

SpringBootのプロジェクトをはじめるときにやる5つのこと

SpringBootでWebアプリを作るときにいつもやることを忘れないようにφ(..)メモメモ 開発環境はEclipse4.5+Windows10+Gradle+Git おしながき Spring Initializrでひな形プロジェクトを作成 .gitignoreの設定 build.gradleの設定 application.propertiesの設定 …

JavaFXで動画・音声を再生&時間表示&スライダー付

JavaFXでメディアを操作する部分を触ったので、その時の備忘録。 基本Listenerを追加する口があるので、いい感じにリスナーを追加する サンプルソース 全体的にはこんな感じ。 はまった点は、以下の2つ! 1. MediaPlayer#getStopTime()はReadyの状態にならな…

JavaFXでTableViewを使ってみる

JavaFXでTableViewを使ってみたときの備忘録 Tableを作る FXML <TableView fx:id="edit_table" prefHeight="470.0"> <columns> <TableColumn fx:id="col_name" text="名称" /> <TableColumn fx:id="col_price_from" text="相場値From" /> <TableColumn fx:id="col_price_to" text="相場値To" /> </columns> </TableView> Entity import lombok.AllAr…

GoogleのJSONライブラリ「GSON」を使ってみた

GSONを使ってみたときの備忘録 pom,xmlのdependency GSONを使うために、まずはdependencyを追加 <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> …

JavaFXでAlertDialogを出す

JavaFXでアラートダイアログを出したかったので、その備忘録。 サンプルのみ。 full sample String title = "ダイアログのタイトル"; String header = "ダイアログのヘッダーメッセージ"; String message = "ダイアログに表示されるメッセージ"; Alert alert…

JavaFXでクライアントアプリを作ってみる(ビルド編)

前回の続き。JavaFXの強みとして、各OSのNativeアプリにビルドできることがある。 Windows用にビルドしたときの備忘録。 wannabe-jellyfish.hatenablog.com JavaFXのでビルドできる形式 形式 インストール場所(デフォルトは太字) OS 事前に必要なソフトウェ…

JavaFXでクライアントアプリを作ってみる(JavaFX概要編)

前回の続き。JavaFX自体の概要についての個人的なまとめ。備忘録。 wannabe-jellyfish.hatenablog.com JavaFXとは Javaの新しいGUIアプリケーションライブラリ MVCを尊重していたり、XMLによるUIデザインが可能 OverViewというか、構成要素 Model は Pure Ja…

JavaFXでクライアントアプリを作ってみる(準備編)

JavaベースのGUIアプリはいくつかあるけれど、JavaFXというのがだいぶいけてるらしい。 実際に使ってみたので、その備忘録(の準備編)。ちなみに、IDEはEclipse 4.5。 のまえに、個人的なJavaFXのいいところ 画面レイアウトをFXMLでかけて、ビューとロジック…

AndroidStudioのヒープを増やして快適起動

AndroidStudioの起動がおそい。。。 Eclipseのeclipse.iniでヒープ割り当てを増やす感じで、AndroidStudioでもできないものかと調べてみたら、簡単に変更できるらしい。その備忘録。 ちな、環境はUbuntu14.04 64bitのAndroidStudio1.0 RC2。 変更するファイ…

AndroidのToastを上に出す

AndroidのメッセージでToastをよく使うけど、デフォルトだと下に出てきて、気づかないことがある。。。 気づきやすいように上に出したいなーと思った時の備忘録 Toast ts = Toast.makeText(getApplicationContext(), "message", Toast.LENGTH_SHORT); ts.set…

YouTube Player Libraryを使って、動画を再生してみる

少し前の記事でYouTube Data APIで動画の情報を取ってくることができたので、次はPlayer APIで動画を再生してみる。 YouTube Android Player API - YouTube — Google Developers だうんろーど&いんすとーる 下記のダウンロードページからzipをダウンロード…

AndroidでORM「ormlite」を使う

AndroidでもORMを使いたいなーと思って探してみたら、ormliteというのがあった! OrmLite - Lightweight Object Relational Mapping (ORM) Java Package ということで、AndroidStudioで使うときの備忘録。 build.gradleに追加 dependencies { compile fileTr…

lombokでSetter/Getterの自動生成で楽をする

DTOやJavaBeanを作る際に、Setter/Getterを書くのがめんどくさくなってきた。 なんと、Lombokというライブラリを使うと、アノテーションを書くだけで自動生成してくれるらしい! Project Lombok AndroidStudio(Gradle)でLombokを使うときの備忘録。 build.gr…