Spring(16)
-
Github Action 이용한 CI/CD Spring Server 자동화 배포 (feat: Synology Nas)
프로젝트를 배포할 때 도커 이미지를 수동으로 도커 허브로 push 하고 다시 시놀로지 나스 도커로 poll 해오는 과정이 매우 귀찮기 때문에 깃허브에 올린 코드를 자동으로 재배포하는 파이프라인을 구축하게 되었습니다. 목차시놀로지 나스 ssh 접속 키 발급gradle.yml 파일 생성시놀로지 나스 ssh 접속 키 발급 시놀로지 나스 도커에 GitHub Actions를 이용해 배포하려면 SSH 접속을 위한 키가 필요합니다. 우선 SSH 접속을 허용하고 나스에 접속합니다. Windows에서는 Putty를 이용해 접속하고, Mac에서는 터미널에서 SSH를 통해 접속합니다.접속하는 시놀로지 나스 계정은 도커 제어 권한이 있어야 합니다. 계정의 루트 디렉토리에 .ssh 폴더를 생성하고 해당 폴더에 접속합니다. Na..
2024.06.05 -
[Spring - Security] OAuth2 클라이언트와 Security 기초 인증 / 인가 처리 (Feat - Kakao Login && Local Login) - 2
코드 버전 Spring boot: 3.2.1Java: JDK 17.0.9Gradle - Groovy https://zks145.tistory.com/107 [Spring - Security] OAuth2 클라이언트와 Security 기초 인증 / 인가 처리 (Feat - Kakao Login && Local Login) - 1코드 버전 Spring boot: 3.2.1Java: JDK 17.0.9Gradle - Groovy 의존성//securityimplementation 'org.springframework.boot:spring-boot-starter-oauth2-client'implementation 'org.springframework.boot:spring-boot-starter-security' ..
2024.05.19 -
[Spring - Security] OAuth2 클라이언트와 Security 기초 인증 / 인가 처리 (Feat - Kakao Login && Local Login) - 1
코드 버전 Spring boot: 3.2.1Java: JDK 17.0.9Gradle - Groovy 의존성//securityimplementation 'org.springframework.boot:spring-boot-starter-oauth2-client'implementation 'org.springframework.boot:spring-boot-starter-security' //jwtimplementation 'io.jsonwebtoken:jjwt:0.12.3'implementation 'io.jsonwebtoken:jjwt-impl:0.12.3'implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3' 진행 방식 클라이언트에서 로그인 요청을 보내면 서..
2024.03.07 -
[Spring] JWT 토큰이란 무엇일까?
JWT (JSON WEB TOKEN) 이란 JSON 웹 토큰은 선택적 서명 및 선택적 암호화를 사용하여 데이터를 만들기 위한 인터넷 표준으로, 페이로드는 몇몇 클레임 표명을 처리하는 JSON을 보관하고 있다. 토큰은 비공개 시크릿 키 또는 공개/비공개 키를 사용하여 서명된다. 간단히 말하자면 인증에 필요한 정보들을 암호화시킨 JSON 토큰을 말하는 것이다. 그리고 이러한 JWT을 이용해 서버와 클라이언트는 사용자가 누구인지 식별한다. JWT 프로세스 사용자 로그인 진행 사용자 확인 Access Token 발급 응답으로 Access Token 저장 데이터 요청 시 Header Access Token 전송 Access Token 검증 실행 JWT 3가지 구조 헤더(Header) : 토큰 타입과 해싱 알고리즘..
2024.01.31 -
[Spring] SSR, CSR HTTP API 이용한 렌더링 방식의 차이점
서비스를 제공하기 위한 방식의 고민 과정을 정리 SSR 방식의 리소스 제공 방식 CSR 방식의 리소스 제공 방식 어쩌면 CSR과 비슷한 HTTP API 제공 방식 렌더링은 서버에 요청한 데이터를 브라우저 화면에 보여주는 것이다. SSR - 서버 사이드 렌더링 서버에서 클라이언트의 페이지 내용을 완전히 그려내어 브라우저에 전달해준다 클라이언트에서 페이지를 이동할 때마다 새로운 페이지를 요청해야한다 장점 초기 로딩 시간이 빠르고 검색 엔진 최적화에 유리하다 렌더링 자체를 서버에서 끝내서 클라이언트에 전달하기 때문에 페이지 생성 시간을 단축 시킬 수 있다. 단점 페이지 전환시 전체 페이지를 로딩하기 때문에 페이지 요청마다 새로고침이 발생하기에 동적 상호작용이 많은 경우 성능이 떨어진다는 문제가 있다 서버에서 ..
2024.01.31 -
[Spring] 양방향 매핑으로 인한 순환 참조
엔티티 구조 Product_order Entity@Entity@NoArgsConstructor(access = AccessLevel.PROTECTED)@Getterpublic class Product_order extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "product_order_id") private Long product_order_id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") private Users user; @ManyToOne(fetch = FetchType.LA..
2024.01.15