전체 글
-
form novalidateetc 2021. 3. 1. 19:04
form novalidate form의 유효성 검사를 하지 않는다. input type="email" 일 경우에 이메일 형식이 맞지 않으면 경고창이 뜨는데 novalidate 지정시 경고창 없이 바로 form 데이터를 전송한다. 익스플로러10, 파이어폭스, 오페라, 크롬에서만 사용가능하다. thymleaf 코드를 보는데 novalidate 가 뭔지 몰라서 찾아보았다. java 의 Validation 을 사용하면 필요도 없고 경고 창도 안 뜨게 하기 위해서 사용하는 것 같다.
-
@AuthenticationPrincipalJava 2021. 3. 1. 19:00
Principal 로그인한 사용자의 정보를 파라미터로 받고 싶을때 Principal 아래와 같이 객체로 받아서 사용할 수 있다. Principal 객체는 java.security 패키지에 속해있는 인터페이스이며 getName() 을 통하여 name 정보를 참조할 수 있다. @GetMapping() public String index (Model model, Principal principal) { if (principal == null) { model.addAtrribute("msg", "Hello"); } else { model.addAtrribute("msg", "Hello" + principal.getName()); } return "index"; } @AuthenticationPrincipal 다..
-
@InitBinderJava 2021. 2. 26. 17:30
@InitBinder Spring Validator 사용 시 @Valid 애노테이션으로 검증이 필요한 객체를 가져오기 전에 수행할 메소드를 지정해주는 애노테이션. - Binding ? 파라미터의 수집 @InitBinder public void initBinder(WebDataBinder webDataBinder){ // 무시할 필드명 명시 webDataBinder.setDisallowedFields("id"); // 허용할 필드명 명시 webDataBinder.setAllowedFields("id"); // 특정 Formatter 등록 webDataBinder.addCustomFormatter(); // 특정 CustomEditor 등록 webDataBinder.registerCustomEditor(Da..
-
java validationJava 2021. 2. 26. 16:17
Validation 애플리케이션 개발 시, 데이터 유효성을 검사하는 것은 애플리케이션 전체에서 발생한다. 입력값 검증 실패에 대해 원인을 쉽게 파악하고 이해하기 쉽게 적절한 API 응답을 해야한다. 목표를 달성하기 위해 Java의 데이터 유효성 검사 표준 기술인 Bean Validation을 사용한다. 문제점 애플리케이션 전체에 분산되어 있음 코드 중복이 심하다. 비즈니스 로직에 섞여있어 검사 로직 추적이 어렵고 복잡해진다. 해결법 Java 에서는 Bean Validation 이라는 데이터 유효성 검사 프레임워크를 제공한다. Bean Validation은 문제들을 해결하기 위해 다양한 제약을 도메인 모델에 애노테이션으로 정의할 수 있게한다. 이 제약을 유효성 검사가 필요한 객체에 직접 정의하는 방법으로 ..
-
.DS_Storeetc 2021. 2. 24. 22:51
깃에 올리는데 계속 뭔지 모르는게 붙길래 찾아봤다. Desktop Service Store 의 약자라고한다. 맥에서만 생성되고 파일들의 메타데이터를 저장하는 용도로 사용하는데 없어도 상관없는거 같아서 앞으로 안나오게 설정해주고 삭제했다. - 생성안되게 설정 defaults write com.apple.desktopservices DSDontWriteNetworkStores true - .DS_Store 파일 찾아서 삭제하기 sudo find / -type f -name .DS_Store -print -delete
-
13. I/OJava 2021. 2. 24. 20:17
목표 자바의 Input과 Ontput에 대해 학습하세요. 학습할 것 (필수) 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O InputStream 과 OutputStream Byte 와 Character 스트림 표준 스트림 (System.in, System.out, System.err) 파일 읽고 쓰기 I/O Input / Output 의 준말로, 프로그램 외부로 부터의 입력과 출력을 의미한다. Java 에서는 java.io 패키지에 있다. New I/O Java 1.4 부터 추가된 API 로 Non-blocking 처리가 가능하며, Stream 이 아닌 Channel 을 사용한다. java.nio 패키지에 있다. I/O vs New I/O Stream 단방향으로..
-
공부 링크 모음etc 2021. 2. 15. 22:04
내가 봤던, 나중에 볼 잘 정리된 게시글 모음 - git, java convention velog.io/@new_wisdom/Clean-Coding-Commit-Message-Conventions [Git] Commit Message Conventions 우테코 과제 구현 중 제시하는 커밋 컨벤션에 맞게 커밋 메세지를 작성해야 한다.최근 간단한 해커톤처럼 프로젝트를 해보고 협업을 하면서 우리 나름대로의 코딩 컨벤션을 사용해봤었는데 우 velog.io velog.io/@new_wisdom/JAVA-Google-Java-Style-Guide-번역 [JAVA] Google Java Style Guide 번역 우아한 테크코스 과제는 Clean Code, 즉 코딩 컨벤션을 준수해야 한다. 우테코 측에서 프로그램 ..
-
docker, redisetc 2021. 2. 9. 10:59
homebrew 설치 docs.docker.com/docker-for-mac/apple-m1/ Apple M1 Tech Preview docs.docker.com 에서 m1 버전 따로 설치해야함 데스크탑 버전 설치하면 튜토리얼이 있음 http://localhost/tutorial/ 읽고 궁금한거는 다음 목차 따라가면 될듯 redis 설치과정 컨테이너 생성 docker run -p 6379:6379 --name redis_boot -d redis 컨테이너 실행 docker exec -i -t redis_boot redis-cli brew redis 관련 / m1 에서의 설정 [gist.github.com/tomysmile/1b8a321e7c58499ef9f9441b2faa0aa8 Brew install R..