전체 글
-
@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..
-
12. 애노테이션Java 2021. 2. 6. 12:35
목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 (필수) 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 Annotation ? Java 1.5부터 등장한 기능으로 인터페이스를 기반으로 한 문법이다. 사전적 의미로는 주석으로 주석처럼 클래스, 메소드, 필드등에 특별한 의미를 부여하거나 기능을 주입할 수 있다. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타 데이터(데이터를 위한 데이터)라고 볼 수 있다. 애노테이션이 왜 필요했는가 ? 기존의 자바 웹 애플리케이션에서 구성과 설정값을 XML 설정 파일을 통해서 명시하고 관리하였다. 이는 변경될 수 있는 데이터들을 코드가 아닌 외부 파일로 분리함으로써 컴파일 없이 변경사항을 적용하기 위함이었다. 근데..
-
Spring security 정리Spring 2021. 2. 2. 12:06
Spring security 사용하는게 어려워서 글 여러 개 읽고 복습겸 나중에 읽기 쉽게 할려고 적는 글이다. 자세한 내용은 잘 정리된 블로그 글 들이 많으니 그걸 보는게 더 좋을것 같다. ※ 출처 및 참초 게시글 모음 kingsubin.tistory.com/349 보안관련 용어 인증 (Authentication) - 보호된 리소스에 접근한 대상이 누구인지 확인 하는 과정 인가 (Authorization) - 인증된 사용자가 요청한 리소스에 접근 가능한지를 결정하는 과정 접근 주체 (Principal) - 보호된 리소스에 접근하는 대상 비밀번호 (Credential) - Resource에 접근하는 대상의 비밀번호 세션 기반 인증과 토큰 기반 인증 세션 기반 인증 - 클라이언트 측에서 서버에 로그인 요청..