본문 바로가기

WEB

(79)
용어 정리 작업 디렉토리스테이지저장소  untracked -기존의 깃이 관리하지 않았던 파일tracked - 스테이지에 올라왔거나 한번이라도 커밋된 적있는 파일 소프트웨어 버전ex) x.y.zX- Major 버전, 새롭게 내놓은 버전이 기존 버전과 호환되지 않을 정도의 큰변화Y- Minor 버전, 새롭게 내놓은 버전이 기존 버전과 문제없이 호환되지만 새로운 기능을 추가Z- Patch 버전, 기존 버전과 문제없이 호환, 버그 수정한 정도
FileZilla &EC2 혹시나 EC2와 FileZilla 연결할 때 필자와 같은 일이 없도록 ..! 사진에 사용자(U)칸에 구글링한 곳마다 ubuntu라고 되어있길래 아 그냥 임의로 이름을 정하는거구나 그럼 나는 linux쓰니까 linux로 써야지 하고 적었다.. 결과는 당연히 fail..... 사용자 이름은 EC2 인스턴스 실행할때 보이는 호스트 이름을 꼭 적고 저처럼 피해보지마시길..
서버 구축과 클라우드 시스템 사용자가 서비스를 이용하기 위해서는 항상 켜져있는 서버가 필요합니다 서버를 이용하기 위해선 서버용 하드웨어를 구매 운영체제 설치(주로 리눅스 계열 사용) 데이터베이스 설치 네임 서버 설치 도메인 등록 백업 Internet Data Center로 보내기 이 모든 것을 도와주는 것이 클라우드 시스템(대표적으로 AWS)가 있습니다
get,post,update,delete 1. get 메서드 구현 1-1 매개변수 없는 GET @GetMapping(value="/") public String getName(){ return "Name"; } 1-2 PathVariable GET @GetMapping(value="/{id}") public String getId(@PathVariable("id") Integer num){ return num; } 1-3 RequestParm GET @GetMapping(value="/") public String getParam(@RequestParam String name){ return name; } //쿼리 파라미터에 어떤 값이 들어올지 모를때 @GetMapping(value="/") public String getMap(@Request..
one-way 애니메이션 자바스크립트보다 css 이용하는 것이 더 낫다 .class1{ visibility:hidden; opacity: 0; transition: all 1s; } .class2{ visibility: visible; opacity: 1; }
UserDetailsService 스프링 시큐리티가 제공하는 UserDetailsService 인터페이스는 로그인 loadUserByUsername 메서드는 매개변 username으로 스프링 시큐리티의 사용자 객체를 조회하고 반환하는 메서드 @RequiredArgsConstructor @Service public class UserSecurityService implements UserDetailsService { private final UserRepository userRepository; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { Optional _siteUser=this.userRepository..
BCryptPasswordEncoder(비크립트패스워드인코더) 회원 가입 기능 구현을 위해 password를 암호화 하는 것이 좋다. 이때 Spring Security의 BcryptPasswordEncoder 클래스를 이용할 수 있다 BcryptPasswordEncoder는 Bcrypt 해시 함수를 사용하는 암호화 기술이다. BCryptPasswordEncoder passwordEncoder=new BCryptPasswordEncoder(); user.setPassword(passwordEncoder.encode(password)); 이렇게 BCryptPasswordEncoder 객체를 직접 생성하는 것도 좋으나 이래처럼 이 객체를 빈으로 등록하여 사용하는 것이 유지보수면에서 좋다(암호화 방식을 변경하면 일일히 수정해주어야하기때문!) PasswordEncoder는 ..
Paging 구현 org.springframework.data.domain.Page : 페이징을 위한 클래스 org.springframework.data.domain.PageRequest : 현재 페이지와 한 페이지에 보여 줄 게시물 개수 등을 설정하여 페이징을 요청하는 클래스 org.springframework.data.domain.Pageable : 페이징을 처리하는 클래스 ** JPA 환경을 구축했다면 JPA 라이브러리에 포함되었으니 추가로 설치할 필요는 없다 Page findAll(Pageable pageable); Pageable 객체를 받아 Page 타입 객체 반환하는 findAll 메서드 작성 public Page getList(int page){ Pageable pageable= PageRequest.of(..
Validation 사용자로부터 입력받은 값을 검증하기 위해 사용하는 라이브러리 dependency 추가 implementation 'org.springframework.boot:spring-boot-starter-validation' @Size 문자 길이 제한 @NotNull Null을 허용 X @NotEmpty Null 또는 빈 문자열을 허용 X @Past 과거 날짜만 입력 가능 @Future 미래 날짜만 입력 가능 @FutureOrPresent 미래 또는 오늘 날자만 입력 가능 @Max 최댓값 이하의 값만 입력할 수 있도록 제한 @Min 최솟값 이상의 값만 입력할 수 있돌고 제한 @Pattern 입력값을 정규식 패턴으로 검증 https://wikidocs.net/book/7601
람다식 람다식 lambda expression * Java8에 추가된 기능 * 메서드를 간략한 식으로 표현 * 익명 함수라고도 불림 함수형 인터페이스 * 람다식 형태로 익명 클래스가 만들어질 수 있는 인터페이스 * 조건: 추상 메소드가 하나만 있어야함 * 람다식과 1:1 대응이 되어야 하기 때문 * @FunctionalInterface 달아줘야햠 함수형 인터페이스 예시 @FunctionalInterface public interface Toaster{ void toast(); } @FunctionalInterface public interface Param { int func(int i); } 람다식 예시 public class Test { public static void main(String[] args) ..