Skip to content

Instantly share code, notes, and snippets.

View A-pZ's full-sized avatar

A-pZ A-pZ

  • Capybara(Oni-Tenjiku-nezumi)
  • Tokyo, shinagawa
View GitHub Profile
@A-pZ
A-pZ / TextSummary.java
Last active February 22, 2018 03:26
テキストファイルを「半角スペースを区切り文字にして」「記号を全部省いた」単語一覧&出現数をMapにする
package com.github.a_pz.sample.java8sample;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.concurrent.ConcurrentMap;
import java.util.stream.Collectors;
@A-pZ
A-pZ / SampleController.java
Created July 20, 2017 07:53
Log4j2.8を使った、ログレベルチェック不要になるログ出力
@Controller
@Log4j2
public String index() throws MessagingException {
MailForm form = new MailForm("[email protected]", "[email protected]", "タイトル", "ここに本文が入ります");
String result = generateMailText(form);
log.info("mailtext {}" , () -> result.toString());
return result;
@A-pZ
A-pZ / Userinfo.java
Created August 6, 2017 12:49
Lombok 1.16.18+Builderパターン
import java.util.Arrays;
import java.util.List;
import lombok.Builder;
import lombok.ToString;
@Builder
@ToString
public class Userinfo {
private String username;
@A-pZ
A-pZ / OrElseThrowSnipet.java
Last active August 21, 2017 03:22
OrElseThrowを使ってnull時は例外スロー&その他の処理をする
public class OrElseThrowSnipet {
void sample() {
List<String> list = new ArrayList<>();
list.stream().findFirst().orElseThrow(
() -> {
log.warn("error.");
throw new RuntimeException("elseThrowで例外を発生しました");
}
);
@A-pZ
A-pZ / MovieResult.java
Created September 5, 2017 16:29
video/mp4の要求があった場合に、将来ファイル分割にも対応できるStruts2のResultクラス
/**
*
*/
package lumi.sample.result;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@A-pZ
A-pZ / HelloAction.java
Created February 9, 2018 03:45
Struts2のURI出力
package seren.sample.s2_convention.actions;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
@Namespace("/")
@Results(@Result(name = ActionSupport.SUCCESS, location = "test.jsp"))
@A-pZ
A-pZ / MemberRepositorySpringAppTest.groovy
Created February 12, 2018 12:25
Spring+Spock+Mybatisのユニットテストの例(INSERT)
package serendip.spring.sample.mybatis.repository
import org.mybatis.spring.boot.test.autoconfigure.MybatisTest
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase
import org.springframework.context.annotation.Import
import serendip.spring.sample.mybatis.MybatisSpringApplication
import serendip.spring.sample.mybatis.model.MemberModel
import spock.lang.Specification
@A-pZ
A-pZ / IntStreamSample.java
Last active February 22, 2018 03:29
「Forループの代わりにIntStream使いましょう」の話
public class IntStreamSample {
private int parseLength = 3;
public List<String> parse(String target) {
if (target == null || target.isEmpty()) {
return Collections.emptyList();
}
final String parseTarget = " " + target + " ";
@A-pZ
A-pZ / StreamMapperTest.java
Created March 15, 2018 06:39
stream().map(v -> function(v)) でfunctionからnullが帰ってきてもNPEは出されず、 forEach が実行される。(でもnull渡して嬉しいのかお前)
public class StreamMapperTest {
@Test
public void test() {
List<String> addresses = Arrays.asList("test","app","go@com");
addresses.stream().map(v -> getDomain(v)).forEach(System.out::println);
}
@A-pZ
A-pZ / CapybaraDivision.java
Created March 19, 2018 00:57
これはコーディング規約違反とか言う人多そう…?(lombokのコンストラクタ)
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* カピバラ区分。
*/
@Getter @AllArgsConstructor
public enum CapybaraDivision {
BATH("01", "お風呂"), SPA("02", "温泉");