Skip to content

Instantly share code, notes, and snippets.

@orekyuu
orekyuu / SumControllerTest.java
Last active October 31, 2021 14:40
Nestedを使ったControllerのテスト
package net.orekyuu.controllertestdemo;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.ResultMatcher;
@startuml
UA -> App: /login
UA <-- App: Redirect
UA -> 認可サーバー: /auhorize
UA <- 認可サーバー: ログインページ表示
UA -> 認可サーバー: ログイン
UA <- 認可サーバー: 認可(AppにXXXを許可しますか?
UA -> 認可サーバー: OK
UA <-- 認可サーバー: Redierct
UA -> App: /callback?code=xxx&state=xxx

対象読者

  • Java言語の構文は覚えたぞからWebアプリケーションを作り始めるまでの間のステップの人
  • Javaのエコシステムがよくわからんになっている人

Javaのバージョンについて

Javaのバージョンについてはある程度知っておくべきなので、代表的なバージョンを書いておく

JDK 1.4

古のJava。関わってはいけない。なぜかちょくちょく存在するが全力で逃げるべき相手。
教科書通りのコードを書くとコンパイルエラーになります。

package net.orekyuu.ktmapperdomasample.infrastructure.datasource
import net.orekyuu.ktmapper.mapping
import net.orekyuu.ktmapperdomasample.domain.identity.User
import net.orekyuu.ktmapperdomasample.domain.identity.UserId
import net.orekyuu.ktmapperdomasample.domain.identity.UserName
import net.orekyuu.ktmapperdomasample.domain.item.Item
import net.orekyuu.ktmapperdomasample.domain.item.ItemId
import net.orekyuu.ktmapperdomasample.domain.item.ItemName
import net.orekyuu.ktmapperdomasample.domain.item.Price
@orekyuu
orekyuu / TerminatedTransactionTime.java
Created March 3, 2019 14:44
いい感じに時間を扱いたい
package net.orekyuu.bitemporaldomaexample.domain.type;
/**
* システム的な変更時のシステム時間の変化
*/
public class TerminatedTransactionTime {
private final TransactionTime newTransaction;
private final TransactionTime terminatedTransaction;
TerminatedTransactionTime(TransactionTime newTransaction, TransactionTime terminatedTransaction) {
@orekyuu
orekyuu / やりたい.md
Created January 24, 2019 12:48
ドメインクラスをControllerで受け取りたい

やりたいこと

  • Formからドメインオブジェクトに変換するときにプリミティブな型から値クラスに変換するところでミスりそう
  • ドメインオブジェクトで受け取れたらドメインオブジェクトにバリデーション書けて便利やん?

理想

ドメインオブジェクトとか

class EmployeeName {
  @NotBlank
 final String name;
@orekyuu
orekyuu / form.vue
Created December 7, 2018 07:03
inside
<template>
<form action="xxxx" method="post">
<input type="hidden" name="_csrf" :value="csrf">
...
</form>
</template>
<script>
export default {
data: function () {
return {
@orekyuu
orekyuu / template.html
Created December 7, 2018 07:03
inside
<meta name="csrfToken" th:content="${_csrf.token}">
@orekyuu
orekyuu / build.gradle
Last active December 10, 2018 02:10
inside
task npmRunBuild() {
doLast {
def p = "npm run build".execute()
p.waitForProcessOutput(System.out, System.err)
}
}
processResources.dependsOn npmRunBuild
const path = require('path');
const webpack = require('webpack');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
module.exports = {
entry: {
hoge: './src/main/js/files/hoge',
vendor: ['vue', 'vuex']
},
output: {