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

GuavaのImmutable Collectionsの実装サンプル

GuavaのImmutable Collectionsを見てみる。 (Java 9 のCollections APIでも同様のstatic factory methodが実装予定) 一般にImmutableであると、参照効率が良い, スレッドセーフなどのメリットがある。 github.com 以下、サンプル。 public static void mai…

Jinja2を試してみた(Python テンプレートエンジン)

PythonのテンプレートエンジンであるJinja2を使って、 信号機の色を出力する簡単なサンプルを作ってみる。 Welcome | Jinja2 (The Python Template Engine) インストール 環境はMBPローカル。pipですぐにインストールできる。 $ pip install jinja2 実装サン…

Spring Security 実装サンプル

Spring Securityのチュートリアルをやってみたのでメモ。 最低限必要なものは主に3つ。 1. Spring Security設定クラス @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override public void confi…

Spring Securityの概要

Spring Securityについて勉強した時のメモ。 ほぼTERASOLUNA Projectのドキュメントの内容です。 9.1. Spring Security概要 — TERASOLUNA Server Framework for Java (5.x) Development Guideline 5.3.0.RELEASE documentation 概要 Spring Securityとは、We…

Spring BootのMethod Validation

@ControllerクラスのPathVariableを、Spring Bean ValidationのMethod Validationで行った。 当初@Configurationクラスに下記のような設定が必要かと思われたが、公式リファレンスを見ると必要ないみたい。 (Spring boot 1.5.2.RELEASE version以上で必要な…

git logを見やすくする

git log がキレイに見える方法があった。 qiita.com 便利なので、gitconfigのaliasに入れておく。 (--decorate=fullはチカチカしすぎていたので、--decorateのみとした) [alias] graph = log --graph --oneline --decorate

Java8 Stream API 簡単なサンプルコード

Stream APIを書く機会があったので、 簡単なサンプルコードを書いてみた。 import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> array = Arrays.asList("A", "B", "C", "A", "B"); // filt</string>…

Spring BootでのDB操作 ~JDBC編~

Spring BootでDBアクセスの色々なパターンを試してみようと思います。 今回はSpring Frameworkが提供しているJDBC data sourceを利用して、JdbcTemplateを使った実装をしてみます。 DB準備 ローカルのMySQL(5.7系)を利用します。インストール等の手順は省…

ES6のクラス記法を使ってテストを書いてみた

表題の通り、JavaScriptのテストをES6のクラス記法を使って書いてみたのでメモ。 今回テストを実装しようとしたときに、各テストケースごとに決まった前・後処理があったので、継承を利用して決まった処理の部分は隠蔽できないかなと思ったのがきっかけです…

Bridgeパターンを使ったクラス設計の具体例を考えてみる

「オブジェクト指向のこころ」という本を読んでいて、 第10章のBridgeパターンは使いどころが多そうだな、と思ったので簡単にメモ。 いつか使ってみたい。 前提 今自分が関わっているWEBサービスを模して、以下の3つの要件を持つサービスを考える。 1. 検索…