Web(30)
-
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 -
[HTTP] HTTPS란?
[HTTP] HTTP / HTTPS란? 학습하는 웹 프로젝트에 HTTPS를 적용하기 위해 HTTPS를 먼저 알아보게 되었다. 기존 HTTP는 인터넷상에서 데이터를 주고받기 위한 프로토콜이었다. 해당 프로토콜은 웹 브라우저와 웹 서버 간의 통신에서 사용이 되며, 클라이언트(브라우저)가 서버에 요청(Request)을 보내면, 서버는 클라이언트에게 요청에 맞는 응답(Response)을 반환한다. 다만 이러한 요청과 응답을 주고받는 과정에 데이터 암호화와 같은 보안 기능이 없기에 정보 노출 및 데이터 보안성이 위험한 상황이 발생한다 이러한 문제점을 해결하기 위해 HTTPS가 등장하였다. HTTPS는 Hypertext Transfer Protocol Secure의 약어이다. HTTPS는 기존 HTTP에 보안적인 ..
2024.02.17 -
[Etc] Presigned URL이란
[Etc] Presigned URL 스프링 이미지 업로드를 구현하기 위해 구글링을 하다가 알게 되었다. 기존에 생각한 방법은 다음과 같다. 클라이언트가 서버에 MultipartFile을 보내면서 요청을 한다. 서버는 해당 이미지를 받아서 S3 버킷에 해당 이미지를 업로드한다. 기존의 경우에는 용량이 있는 파일을 과정 상으로 두 번 옮겨야한다. 다만 구글링을 통해 발견한 Presigned URL의 방식으로 사용하면 과정이 변하게 된다. 클라이언트는 서버에 이미지를 올리고 싶다는 요청을 전송한다. 서버는 해당 요청을 받게 되면 S3에 업로드 가능한 URL을 요청한다. S3는 서버에게 URL을 발급한다. 서버는 클라이언트에서 업로드 URL, 파일명을 지정한다. 클라이언트는 주어진 URL을 통해 S3에 바로 업..
2023.08.28 -
[Spring] 휴대폰 인증 - 네이버 sens 사용
[Spring] 휴대폰 인증 - 네이버 sens 사용 지난번에 이메일 인증에 이어서 휴대폰 인증을 적용해보려고 한다. 적용을 하려고 한 범위는 휴대폰 인증을 통해 한 사람당 하나의 계정만 가지게 하려는 목적으로 알아보게 되었다. 구현을 하면서 과정을 정리하려고 한다. 이전에 CoolSMS등의 인증을 거치는 서비스도 고려를 해봤으나 네이버 네이버 클라우드 플랫폼 Sens 사용한 api는 네이버 클라우드 플랫폼 sens이다. 네이버 클라우드 플랫폼에서는 다양한 서비스를 제공하는데 휴대폰 문자인증을 위해 사용할 서비스는 Simple & Easy Notification Service로 한번 구현을 해볼 예정이다. 해당 서비스를 사용하면 문자메시지뿐만 아니라 스마트폰 앱 Push 알람 전송 기능도 구현이 가능하다..
2023.08.26