목록JAVA (57)
도찐개찐
자료형 Data Type 메모리를 얻고 사용하는 절차 필요한 메모리의 크기를 정한다. 크기에 해당하는 만큼의 메모리를 얻는다. 메모리에 데이터를 집어 넣는다. (만약 4바이트의 메모리를 프로그래머가 얻어낸다는 것은 어렵기 때문에 메모리의 크기를 미리 지정해 두 었는데 그것이 데이터 타입이다.) 데이터 타입을 이용하면 효과적인 메모리 활용이 가능 하다. 기본 데이터 타입 Primitive Type 자바에서 사용하는 기본적인 데이터타입 8가지(기본형) 1. 정수형 - 소수점이 없는 데이터 표현 가능한 정수 범위에 따라 4가지 타입으로 분류 byte (1Byte = 8bit) : -128 ~ + 127까지 표현 가능 short (2Byte = 16bit) : -32768 ~ +32767까지 표현 가능 int ..
Swagger Swagger란 서버로 요청되는 URL 리스트를 HTML화면으로 문서화 및 테스트 할 수 있는 라이브러리이다. 간단하게 설명하면 Swagger는 API Spec 문서이다. API를 엑셀이나 가이드 문서를 통해 관리하는 방법은 주기적인 업데이트가 필요하기 때문에 관리가 쉽지 않고 시간이 오래 걸린다. 그래서 Swagger를 사용해 API Spec 문서를 자동화해주어 간편하게 API문서를 관리하면서 테스트할 수 있다. Swagger 설정하기 먼저 Swagger 사용을 위해 pom.xml에 dependency를 추가한다. io.springfox springfox-swagger-ui 2.9.2 io.springfox springfox-swagger2 2.9.2 그 후 환경 설정을 위해 Swaage..
로컬환경에서 IP를 ipv4가 아니라 ipv6로 인식하고 있어서 이를 변경해줘야 합니다. ipv4의 127.0.0.1은 ipv6의 0.0.0.0.0.1이랑 같음 인텔리제이에서 수정을 하기 위해서는 하단에 작성 된 내용과 같이 진행 해주시면 됩니다. 메뉴 > Help > Edit Custom VM Options 아래 값을 복사, 붙여넣기 해주면 됩니다. -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true 위 설정이 안되는 경우 아래와 같이 진행 해주셔도 됩니다. 메뉴 > Run > Edit Configurations... 또는 어플리케이션 실행 셀렉트 영역을 눌러 선택 하시는 방법도 있습니다. Modify options > Add VM ..
비즈니스 레이어와 데이터 레이어 스프링을 사용한 웹앱의 경우 DAO, DTO, Repository, Entity를 사용하여 데이터를 다루는데 스프링부트의 경우 내장 톰캣을 통해 서블릿을 관리하고 이를 컨트롤러에서 각 어노테이션을 통해 매핑한다. 도메인(엔티티)의 경우 가장 Persistence Layer에 가까운데 이를 이용하기 위해 사용하는 방법들을 알아본다. Repository MVC 패턴에서 모델에 해당하는 부분으로 POJO로는 접근불가 Persistence Layer와 1:1 매칭 Java Persistence API 구현체를 이용하여 자바 객체로 접근할 수 있다. @Repository @RequiredArgsConstructor public class MemberRepository{ privat..
1. CORS란? (Cross-Origin Resource Sharing,CORS) 란 다른 출처의 자원을 공유할 수 있도록 설정하는 권한 체제를 말합니다. 따라서 CORS를 설정해주지 않거나 제대로 설정하지 않은 경우, 원하는대로 리소스를 공유하지 못하게 됩니다. 위의 사진처럼 CORS에러가 발생하게 됩니다. 이를 Spring에서 해결하는 방법에 대해서 알아보겠습니다. 2. Configuration으로 해결하기 이 방법은 Global하게 적용하는 방법입니다. 우선 config패키지를 만들어 줍니다. 경로는 /src/main/java/{project}/config 만들어진 config패키지 안에 WebConfig클래스를 만들어줍니다. @Configuration public class WebConfig i..
작성 소스 GitHub 경로 GitHub - dev-truly/jwt-demo Contribute to dev-truly/jwt-demo development by creating an account on GitHub. github.com 인증(Authentication)과 권한(Authorization) 먼저 스프링 시큐리티에서 애플리케이션 보안을 구성하는 두 가지 영역에 대해 간단하게 설명해 보도록 하겠습니다. 이 두 영역은 사실상 스프링 시큐리티의 핵심이라고 볼 수 있습니다. https://dev.to/caffiendkitten/authentication-vs-authorization-25lc 인증(Authentication)은 보호된 리소스에 접근하는 대상, 즉 사용자에게 적절한 접근 권한이 있는..
스프링 시큐리티에 대해 간단하게 개념 정리를 하고 단순 시큐리티를 적용해봅니다. 스프링 시큐리티 대략적인 기능 사용자 권한에 따른 URI 접근 제어 DB와 연동 하는 Local strategy 로그인 쿠키를 이용한 자동 로그인 패스워드 암호화 이외에 여러 기능들이 존재합니다. 개념 시큐리티 사용을 앞서 인증(Authentication)과 인가(Authorization)이라는 개념을 알아야 합니다. 인증은 '증명하다'라는 의미로 예를 들어, 유저 아이디와 비밀번호를 이용하여 로그인 하는 과정 을 말합니다. 인가는 '권한부여'나 '허가'와 같은 의미로 사용됩니다. 즉, 어떤 대상이 특정 목적을 실현하도록 허용(Access) 하는 것을 의미합니다. Web에서 인증은 해당 URL은 보안 절차를 거친 사용자들만 ..
Spring Security Spring Security 스프링 시큐리티 스프링 시큐리티에 대해 간단하게 개념 정리를 하고 단순 시큐리티를 적용해봅니다. 스프링 시큐리티 대략적인 기능 사용자 권한에 따른 URI 접근 제어 DB와 연동 하는 Local strategy 로그인 쿠키를 dev-truly.tistory.com 세 가지를 만들어야 합니다. 보유할 토큰 "principal", "credentials" 요청에서 앞서 언급한 Token을 생성하기 위한 Filter를 사용하여 인증 "AuthenticationManager"하고 "AuthenticationSecurityContextHolder" "AuthenticationManager"토큰을 인증하는 데 사용할 인증 공급자 입니다. Spring Initi..