본문 바로가기

분류 전체보기

(691)
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, 접속일시)를 한 번..
TIL 20240403 이번 주 목표 마이크로 서비스 아키텍처 구축 읽기 정보처리기사 필기 공부 스프링 강의 듣기 스프링 개발 오늘 목표 마이크로 서비스 아키텍처 구축 읽기 정보처리기사 필기 공부 스프링 강의 듣기 스프링 개발 오늘 한 것 마이크로 서비스 아키텍처 구축 읽기 정보처리기사 필기 공부 오늘 스케줄 오후 9시 30분 마이크로 서비스 아키텍처 구축 읽기 오후 10시 30분 정보처리기사 필기 공부 오후 11시 30분 스프링 강의 듣기 오후 1시 스프링 개발 1. 폭포수 모형 한 번 떨어진 물은 거슬러 올라갈 수 없다. 이전 단계로 돌아갈 수 없다는 전제 하에 각 단계를 확실히 매듭짓고 진행. 두 개 이상의 과정이 병행하여 수행되지 않는다. 2. 프로토타입 모형 (원형 모형) 3. 나선형 모형(Spiral Model, 점..
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
String Tokenizer vs split split = 토큰화에 대한 생각을 항해 잡담방에 올렸다. 그 뒤 재밌는 질문을 받게 되었다. 그러면 StringToken방식이랑 split메서드에 차이도 크게 있을까요?? 혹은 split메서드는 배열을 따로 받아 사용하는데 메모리관점에서 비효율적인게 아닐까요?? 궁금해서 댓글 남겨요! 질문에 답변 드리기 위해 조사한 결과를 기록한다. 안녕하세요 __ 님 :) 토큰화 방식은 필요에 따라 다른 메서드를 활용하면 좋을 것 같다고 생각합니다. 조사한 내용을 공유 드립니다! StringTokenizer는 빈 문자열을 토큰으로 인식하지 않지만 split는 빈 문자열을 토큰으로 인식하는 차이가 있습니다. StringTokenizer는 결과값이 문자열이라면 split는 결과 값이 문자열 배열입니다. 따라서 Strin..