IT 썸네일형 리스트형 Kubernetes(쿠버네티스) 1 설치 및 활성화 https://sh970901.tistory.com/40 Linux(centOS9) 설정 1(CentOS, Virtural BOX, PuTTy 원격 접속)Virtural BOX 설치 https://www.virtualbox.org/ Virtural BOX 확장팩 설치 https://www.virtualbox.org/wiki/Downloads CentOS9.iso 설치 https://www.centos.org/download/ PuTTY 설치 https://www.putty.org/..sh970901.tistory.com실습 환경은 위에서 포스팅한 CentOS9, VB를 이용하였다.가상머신 필수사항프로세서 : 2개 이상메모리 : 4GB 이상저장소 : 32GB 이상네트워크 : 브릿지 네트워크브릿지 네트워크가.. 더보기 JWT와 Security를 활용한 인증, 인가 구현 3 ( REST API 구현) https://sh970901.tistory.com/108 를 참고하여 REST API를 개발하기 위한 RsData를 생성하였다. Member 컨트롤러를 생성하여 로그인 요청에 대한 처리를 작성해보자.@PostMapping("/login")public ResponseEntity login(@Valid @RequestBody LoginDto loginDto) { Member member = memberService.findByUsername(loginDto.getUsername()).orElse(null); if (member == null) { return Util.spring.responseEntityOf(RsData.of("F-2", "일치하는 회원이 존재하지 않습니다."));.. 더보기 Spring Boot로 REST API 구현을 위한 ResponseEntity<> 커스텀 ResponseEntity를 작성할 때 header, body, status code를 분리하여 REST API를 구현하였는데 잘못된 요청 시도에서 body에 잘못된 요청이라는 정보를 편리하게 싣고 상태 코드도 커스텀하여 body에 추가하려한다. 따라서 필자는 Result Data 줄여서 RsData라는 클래스를 만들어서 활용하였다.@Getter@Setter@AllArgsConstructorpublic class RsData { private String resultCode; private String msg; private T data; public static RsData of(String resultCode, String msg, T data) { return .. 더보기 JWT와 Security를 활용한 인증, 인가 구현 2 ( Security 필터 추가) 1. SecurityConfig를 작성하자. JwtAuthorizationFilter 라는 필터를 생성하여 스프링 시큐리티 내부에 여러 인증 필터 중 만만한 UsernamePasswordAuthenticationFilter 앞에 추가하였다. @Beanpublic SecurityFilterChain apiFilterChain(HttpSecurity http) throws Exception { http .antMatcher("/api/**") .exceptionHandling(exceptionHandling -> exceptionHandling .authenticationEntryPoint(authenticationEntryPoi.. 더보기 JWT와 Security를 활용한 인증, 인가 구현 1 ( JWT 토큰 생성) JWT에 대한 이론은 https://sh970901.tistory.com/85 포스팅했으니 참고하도록 하자. 1. build.gradle에 JWT와 Security 관련 라이브러리를 추가해준다. //JWT 관련 implementation 'io.jsonwebtoken:jjwt-api:0.11.5' runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5' runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5' //Security 관련 implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.thymeleaf.extras:thymeleaf.. 더보기 퍼사드 패턴(Facade Pattern) Facde 패턴 정의퍼사드 패턴(Facade Pattern)의 Facade는 "건물의 정면"을 의미하는 단어로 어떤 소프트웨어의 다른 커다란 코드 부분에 대하여 간략화된 인터페이스를 제공해주는 디자인 패턴을 의미한다. **퍼사드 패턴(Facade Pattern)**은 구조 패턴의 한 종류로, 서브 시스템들의 공통적인 기능을 정의하는 단순화된 상위 수준의 인터페이스를 정의하는 패턴이다. 퍼사드 객체는 복잡한 소프트웨어 바깥쪽의 코드가 라이브러리의 안쪽 코드에 의존하는 일을 감소시켜 주고, 복잡한 소프트웨어를 사용 할 수 있게 간단한 인터페이스를 제공해주며 서브 시스템들 사이의 종속성을 줄일 수 있다.퍼사드 패턴 정의(위키백과) : 퍼사드는 클래스 라이브러리 같은 어떤 소프트웨어의 다른 커다란 코드 부분에 .. 더보기 접근 제어자 📌 접근제어자멤버 또는 클래스에 사용되어 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한접근 제어자의 종류접근 제어자가 지정되어 있지 않은 경우는 접근 제어자가 default 임을 뜻한다.접근제어자를 사용하는 이유핵심은 캡슐화 결합도캡슐화 : 객체지향의 4대 특성 중 하나 , 정보의 은닉화클래스 내부에 선언된 데이터를 외부로부터 보호하기 위해외부에서 불필요한 부분을 감추어 복잡성을 줄이기 위해//상황 1 : public으로 작성이 되어 잘못된 값을 지정한다고 해도 오류가 발생하지 않는다.public class Time{ public int hour; public int minute; public int second;}Time t = new Time();t.hour = 28;.. 더보기 자바 동일성과 동등성("==", "Equals") 동일성(Identity)두 객체가 완전히 같은 경우를 칭한다. 완전히 같다는 의미는 메모리에 저장된 객체 중 같은 객체를 가리킨다는 의미다. 즉, 각 변수에 저장된 객체의 주소가 같은지를 비교한다.위 그림에서 refVar2, refVar3 둘 다 객체2를 가리키고 있기 때문에 두 변수가 가리키는 객체는 동일하다고 말할 수 있다.두 객체가 동일한지는 ==연산자를 통해 판별한다.참고로 int, double 같은 Primitive 타입은 객체를 갖지 않기 때문에 == 연산자를 사용했을 때 값이 같으면 true 값이 리턴된다.동등성(Equality)동등성은 두 객체에 저장된 값이 같은 값인 경우를 의미한다. 동등성은 변수가 참조하고 있는 객체의 주소가 서로 다르더라도 내용만 같으면 두 변수는 동등하다고 이야기한.. 더보기 이전 1 ··· 8 9 10 11 12 13 14 ··· 21 다음