본문 바로가기

Backend18

FCM 프로젝트 만들기 (Firebase 2024 최신버전) https://firebase.google.com/?hl=ko Firebase | Google's Mobile and Web App Development Platform개발자가 사용자가 좋아할 만한 앱과 게임을 빌드하도록 지원하는 Google의 모바일 및 웹 앱 개발 플랫폼인 Firebase에 대해 알아보세요.firebase.google.com시작하기프로젝트 만들기이름 지정default로 지정해줬음.이렇게 프로젝트가 만들어진다!난 안드로이드를 만들고 있으니 안드로이드를 선택앱등록 위해 프론트 패키지 이름 넣고 여기서 주어지는 goggle-service.json 파일은 안드로이드스튜디오에 사진과 같이 넣어줘야 한다! 이렇게 자바나코틀린으로 설정 해주자밖으로 나와서 이제 백엔드가 사용할 json을 다운로드해.. 2024. 11. 26.
[Spring/Java] 웹소켓 이용하여 간단하게 빠칭코(게임) 구현하기 1. 실시간 동기화가 필요한 빠칭코 게임빠칭코 게임은 사용자가 6x6의 36개 칸 중 3개의 칸을 선택하는 방식으로 진행된다. 하나의 게임 라운드에서는 모든 참가자가 동시에 게임에 참여하며, 특정 칸을 선택하면 다른 모든 사용자에게 즉시 반영되어야 한다. 또한, 게임이 종료되면 보상이 즉시 지급되며, 10초 후 새로운 게임이 자동으로 시작되어야 한다.이러한 요구사항을 만족시키기 위해 서버와 클라이언트 간의 실시간 양방향 통신이 필수적이었다. 기존의 HTTP 기반의 요청-응답 방식으로 구현할 경우, 사용자의 선택이 실시간으로 반영되지 않고, 주기적으로 서버에 요청을 보내야 하는 비효율적인 구조가 될 수 있다. 이를 해결하기 위해 웹소켓(WebSocket)을 사용하여 지속적인 연결을 유지하면서 실시간으로 데.. 2024. 11. 14.
[Spring/Java] 민감한 개인정보 AES 알고리즘으로 암호화/복호화하기 현재 개발 중인 서비스에서 배송 기능이 있어 고객의 배송지와 전화번호를 입력받고 있다. 전화번호는 문자 인증을 통해 인증된 번호만 DB에 저장되도록 구현했다. 그런데, 전화번호와 같은 민감한 개인정보를 그냥 DB에 평문으로 저장하면, 해킹이나 데이터 유출이 발생할 시 사용자의 전화번호가 그대로 노출될 수 있어 보안상 위험이 있었다. 이를 예방하기 위해, 데이터 유출 시에도 암호화 키가 없는 경우 전화번호를 원본 그대로 노출할 수 없도록 암호화해야겠다고 판단했다. 암호화 알고리즘에 RSA, AES, DES 등 여러가지가 있는데, 그중 AES 알고리즘을 선택했다.   AES 알고리즘 선택 이유현재 개발 중인 서비스에서는 사용자의 전화번호를 암호화하여 저장하고, 복호화하여 배송 정보로 활용할 수 있으면 충분하.. 2024. 11. 14.
[Spring Boot] 로깅이란? 3가지 Logging 방식 소개 위 Spring Boot Logging 공식 문서를 살펴보면, 아래와 같은 문구가 맨 위에 나온다. Spring Boot는 내부 로깅에 Commons Logging을 사용하지만, 실제 로깅 구현체는 사용자가 선택할 수 있도록 열려 있다.  Java Util Logging, Log4j2, Logback에 대한 기본 설정이 제공되는데, 각각의 경우 로거는 기본적으로 콘솔 출력이 사용되며, 선택적으로 파일 출력도 가능하다. 기본적으로, Spring Boot 스타터를 사용하면 Logback이 로깅 프레임워크로 사용된다. 또한, Logback 라우팅이 적절히 구성되어 있어서 Java Util Logging, Commons Logging, Log4J, 또는 SLF4J 를 사용하는 의존 라이브러리들도 문제없이 동작하.. 2024. 11. 11.