본문 바로가기

아카이브

(74)
Mine Villages 3일차 코드리뷰 : 4월 5일 1. 구조체 쓸 수 있는 것은 struct 사용해서 객체화 하기 package db import ( "context" "log" "time" "github.com/go-redis/redis/v8" ) var client *redis.Client type Redis struct { Addr string Password string DBcount int } type RedisSetter struct { Key string Value string Expire time.Duration } type RedisGetter struct { Key string } func (r *Redis) Connection() { // Connect to Redis server client = redis.NewClient(&red..
Mine Villages 2일차 데일리 스크럼 회의 : 4월 4일 회의 내용 프로젝트 이름 변경 (Game Villages > Mine Villages) 로고 변경 세션 키 - header 에 담기로 함 프로젝트 배포 이후 필요 시 앱 제작 (장천룡) 예쁜 말 사용하기 어렵지만 매일 연습 (장천룡) DM서비스 > 카프카(Sarama), GO CI/CD - 추후 1. 장천룡 2. 이다영 이다영 어제 한 일 feat : 로컬 로그인, 회원 가입 완성 - 이메일 인증 (인증번호 Redis TTL 5분) - 비밀번호 해싱 알고리즘 Argon2 - 로그인 세션 키 정보 Redis에 저장 fix : email verification localization, status message in english - email verificatoin localization (ko, en) ..
Game Villages 1일차 코드 리뷰 : 4월 3일 1. 이메일 인증 localization try { String ko = "[Game Villages] 인증번호를 확인해 주세요"; String en = "[Game Villages] Please check your verify number"; SimpleMailMessage message = new SimpleMailMessage(); message.setTo(userEmailRequestDto.getEmail()); if (userEmailRequestDto.getClientLanguage().equals("ko")){ message.setSubject(ko); } else { message.setSubject(en); } message.setText(randomNumber); emailSender...
Game Villages 로그인 로직 고민 0. 분산환경 분산 환경을 쓰기 때문에 서버 세션만을 사용할 수는 없다. 저장소를 이용해 인증 허가 수단을 공유해야 한다. 1. Redis 빠른 입출력 가능 로그인 실패 횟수를 Redis에 저장 (Key : illegal_UserId, Value : count) > 일정 횟수 이상일 경우 모든 세션 파기, 사용자에게 알림 로그인 시도 일시와 ip를 Redis에 저장 (Key : illegalAt_UserId, Value : datetime, ip) > 사용자가 정상접근 하는 경우 로그인 실패횟수 / 로그인 시도 일시 삭제 Key : UUID, Value : UserId로 이루어진 세션키를 이용 2. MySQL 비용이 들고 느림. 비정상적인 접근 시 해당 계정의 최근 접속 정보 (ip, 접속일시)를 한 번..
Game Villages 1일차 스크럼 : 4월 3일 회의 내용 마인크래프트만 서비스 이다영 오늘 목표 : 로컬 회원 가입, 로그인 완성 장천룡 오늘 목표 : 클라이언트 - 개발환경 구축, 디자인 템플릿 만들기
Game Villages 개발 스프린트 분할 4월 1-2주차 (4.3 ~ 4.14) : User Service (프론트/백) 4월 3-4주차 (4.15 ~ 4.28) : DM Service (프론트/백) 4월 5주차, 5월 2주차 (4.29 ~ 5.12) : Server List Service (프론트/백) > 후원 기능 프론트엔드 : 토스 (장범룡) 5월 3-4주차 (5.13 ~ 26) : Community Service (프론트/백), 마인크래프트 플러그인 (후원 - 유저 > 해당 서버) 5월 5주차 (5.27~ 5.31): Caddy Server 및 전체 서버 구축, 부하 테스트, 마인크래프트 플러그인 (추천 - 서버 보상)
Game Villages Landing Page
Game Villages 서버 계획 MSA, 수평확장 메인 서버 4코어 8스레드 16GB : Gateway - Caddy Server (GO) 처리 서버 1 18코어 36스레드 32GB : Java, GO 처리 서버 2 18코어 36스레드 32GB : Java, GO DB 서버 18코어 36스레드 64GB - MySQL 1(User), MySQL 2(Server List), PostgreSQL(Community), Redis, MongoDB(DM) Java User Service Server List Service GO Community Service DM Service