spring(19)
-
MySQL Master-Slave Replication 설정
MySQL Master-Slave Replication 설정 문제풀이 플랫폼을 개발하면서 단일 MySQL을 사용하는 대신 쓰기 전용 DB(Master)와 읽기 전용 DB(Slave)를 분리하는 것이 더 적합하다고 판단했다.이러한 구조를 적용하면 읽기 부하를 효과적으로 분산할 수 있고, 백업 및 장애 대응 능력을 향상할 수 있다. 다만, 설정이 복잡해지고 데이터 동기화 지연 등의 단점도 존재한다.이 글에서는 MySQL Master-Slave Replication을 Docker 환경에서 설정하는 과정을 상세히 정리해 보았다.현재 진행 중인 프로젝트의 경우 문제풀이 플랫폼을 진행 중이다. 해당 플랫폼의 경우 관리자가 문제를 만들고 업데이트하는(Input, Update) 상황보단, 사용자가 문제를 읽는 경우(S..
2025.02.20 -
[Spring] Category 구현하기
[Spring] Category 구현하기 쇼핑몰, 커뮤니티에 존재하는 주제를 표현할 때 자주 사용되는 것이 카테고리이다. 카테고리는 전형적인 계층형으로 서로 연관이 되는 구조이다. 해당 카테고리만을 단순히 구현해 보고 구현을 할 때 과정을 정리하려고 한다. 코드 먼저 코드들은 다음과 같다. 좀 더 구체화를 시키기 위해서는 인터페이스를 사용하고 DI를 사용하는 등의 과정을 거쳐야하는 것이 맞지만 현재의 경우 카테고리를 구현하는 것이 목표였기에 간단하게 컨트롤러, 엔티티, 서비스, 레포지토리 4개의 구성 요소만을 사용해서 진행을 하였다. 후에 다른 프로젝트를 진행할 때는 해당 부분에 대해 자세하게 세분화하고 DI를 지키는 식으로 진행을 할 예정이다. Controller package com.example.c..
2024.02.21 -
[Spring] HTTPS 적용하기
[Spring] HTTPS 적용하기 [HTTP] HTTPS란? (tistory.com) [HTTP] HTTPS란? [HTTP] HTTP / HTTPS란? 학습하는 웹 프로젝트에 HTTPS를 적용하기 위해 HTTPS를 먼저 알아보게 되었다. 기존 HTTP는 인터넷상에서 데이터를 주고받기 위한 프로토콜이었다. 해당 프로토콜은 웹 브라우저 skyriv312079.tistory.com 학습하던 스프링 프로젝트에 HTTPS를 적용하고자 한다. 단계는 다음과 같이 이루어진다 SSL/TLS인증서 생성 Spring Boot - application.yml 작성 코드 수정 실행 후 postman으로 테스트 SSL/TLS 인증서 생성 먼저 SSL/TLS 인증서를 생성해야 한다. 방법은 두 가지가 있다. 첫 번째는 자체적으..
2024.02.17 -
[docker] spring boot 배포하기
[docker] spring boot 배포하기 옛날에 친구와 같이 프로젝트를 진행할 때는 친구가 frontend, 내가 backend를 맡아서 개발을 하고 각자의 ide에서 실행시켜서 연결하면서 진행을 하였다. 다만 서버만 돌리면 되는 것을 각자의 ide를 켜고 실행하면서 메모리를 잡아먹는 것이 아까워서 방법을 찾아보았고 다음에는 docker 컨테이너를 통해 배포를 하면 된다는 생각을 하게 되었다. 적용하고자 하는 프로젝트에 적용하기 전에 기본 프로젝트에 적용하는 과정을 기록해두려고 한다. 과정 먼저 비어있는 기본 프로젝트를 생성해준다. 이때 다음 화면에서 웹 서버 유지를 위한 Spring Web을 dependencies로 추가해야 한다. 그렇지 않으면 해당 서버가 올라왔다가 바로 내려간다. 프로젝트가 ..
2023.12.27 -
[Spring] 휴대폰 인증 - 네이버 sens 사용
[Spring] 휴대폰 인증 - 네이버 sens 사용 지난번에 이메일 인증에 이어서 휴대폰 인증을 적용해보려고 한다. 적용을 하려고 한 범위는 휴대폰 인증을 통해 한 사람당 하나의 계정만 가지게 하려는 목적으로 알아보게 되었다. 구현을 하면서 과정을 정리하려고 한다. 이전에 CoolSMS등의 인증을 거치는 서비스도 고려를 해봤으나 네이버 네이버 클라우드 플랫폼 Sens 사용한 api는 네이버 클라우드 플랫폼 sens이다. 네이버 클라우드 플랫폼에서는 다양한 서비스를 제공하는데 휴대폰 문자인증을 위해 사용할 서비스는 Simple & Easy Notification Service로 한번 구현을 해볼 예정이다. 해당 서비스를 사용하면 문자메시지뿐만 아니라 스마트폰 앱 Push 알람 전송 기능도 구현이 가능하다..
2023.08.26 -
[Spring] 이메일 인증
[Spring] 이메일 인증 - Spring Boot Starter Mail 사용 개인 학습용 프로젝트에 이메일 인증을 적용하면서 진행했던 과정을 정리하려고 한다. 사용한 API는 Spting Boot Starter Mail을 사용하였다. Spting Boot Starter Mail Spring Boot에서 제공하는 라이브러리 중 하나 이메일을 보내기 위한 라이브러리 JavaMailSender 인터페이스를 구현하여 이메일을 보내는 용도로 사용 가능 Spring Boot에서는 JavaMailSender를 자동으로 구성하기에 별도의 설정 없이 사용가능 https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-mail/3.1..
2023.08.26