개발공부15 [토이 프로젝트 개발일지] 15. 비밀번호 재설정 링크 이메일 발송 1. 비밀번호 재설정 링크 이메일 발송이름, 이메일(아이디), 생년월일만 가지고 비밀번호 재설정 페이지로 이동시키는 것이 아무래도 보안에 너무 취약한 것 같아서, 이메일로 재설정 링크를 발송하는 것으로 변경했다. @PostMapping("/find-password") public ResponseEntity findPassword(@RequestBody FindPasswordRequestDto dto) { Optional user = userService.findUserForPasswordReset(dto); if (user.isEmpty()) { return ResponseEntity.status(HttpStatus.NOT_FOUND).body("일치하는 사용자가 없습니다"); } String.. 2025. 5. 20. JAVA - repeat() 함수 본격적인 입사 지원을 앞두고, 지원 폭을 늘리고자 코딩테스트 준비를 하고자 한다.전 회사 입사 전 Javascript로 잠깐 준비했었지만, 그 뒤로 아예 손을 놓았기 때문에 백지상태나 마찬가지.프로그래머스에서 기초부터 차근차근 하나씩 해보고 있다.문제 : 문자열 str과 정수 n이 주어집니다.str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요.출력 예시:stringstringstringstringstring 쉽게 말해 n번만큼 str을 띄어쓰기 없이 한 줄로 출력하는 문제.나는 당연히? public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next().. 2025. 5. 13. [토이 프로젝트 개발일지] 13. AWS EC2로 배포하기, 도메인 구매 1. AWS EC2 가입 및 인스턴스 설정배포 방법으로는 AWS의 클라우드 컴퓨팅 서비스인 EC2를 이용하기로 했다. AWS에 우선 회원가입을 했다. AMI: Ubuntu Server 22.04 LTS (HVM), SSD Volume Type인스턴스 유형: t2.micro키페어 설정 : RSA, .pem인바운드: 22(SSH), 80(HTTP), 443(HTTPS) 포트 열기스토리지: 8GB gp2 2. git bash로 인스턴스 접속하기chmod 400 voca-forest-key.pemssh -i voca-forest-key.pem ubuntu@[퍼블릭IP주소]key pem 파일 권한을 바꿔주소,인스턴스의 퍼블릭 IP주소로 접속한다. IP주소 접속 할 때 처음 접속하는 거라 "정말 이 서버에 연결할 .. 2025. 5. 8. [토이 프로젝트 개발일지] 12. 형상관리 1. Github 레포지토리 연동 부끄럽지만 2년 8개월의 경력가운데 Git을 제대로 써본 경험이 없다.취업 전, Github이란 것을 써야 한다고만 듣고 정말 보잘것없는 개발 소스들을 레포지토리를 만들어 연동한 다음에 무지성으로 수정하고 커밋하기를 반복했다. 취업 후에도, 초기에는 SVN을 썼었고, 1년이 지나 GitLab을 쓰긴 썼지만, 이것도 그냥 main(혹은 master) 브랜치를 하나 두고, 팀원들이 push 하고 pull만 내려받기를 반복했다. 제대로 된 형상관리를 하지 않았던 것이다. 이번에 토이 프로젝트를 만들면서, 제대로 한번 형상관리를 해봐야지라고 다짐했었다.처음에는 '혼자 하는 프로젝트에 과연 필요할까'라는 의문도 들었는데, 다음 글을 읽고 '역시 필요하겠구나'라고 생각이 들었다.(.. 2025. 5. 7. [토이 프로젝트 개발일지] 11. 스프링 시큐리티 적용 1. 스프링 시큐리티 적용 - Session 기반 로그인 시스템을 인증/권한 기반으로 리팩터링스프링 시큐리티 세팅만 하고, 미적용 상태에서 '회원가입&로그인'기능 구현을 완료했다. 이제 스프링 시큐리티를 적용하고자 한다.실무에서도 이렇게 하는지 안 하는지 모르겠지만,스프링 시큐리티 적용을 처음 해보는 입장에서 기능 구현 후 적용하는 순서가 습득에 나쁘지는 않았다. 스프링 시큐리티 적용 전,로그인 - 사용자가 로그인하면 User 객체를 HttpSession에 담아 화면에 전달했다.로그인 여부가 확인이 필요한 화면에서 계속 세션을 확인해야 하는 번거로움이 있었다. @GetMapping("/main")public String mainPage(Model model) { Authentication authe.. 2025. 5. 4. [토이 프로젝트 개발일지] 10. 아이디/비밀번호 찾기 1. 흐름1) 이메일 찾기(아이디) 이름, 생년월일 입력 → 아이디 리턴 2) 비밀번호 찾기 이름, 이메일, 생년월일 입력 → 비밀번호 재설정 페이지 이동 3) 비밀번호 재설정입력 비밀번호, 비밀번호 확인 → 일치하면 변경 완료 위 흐름으로 아이디&비밀번호 찾기 기능을 구현하고자 한다.보안성을 생각하면, 더 강화해야 하는 측면도 있지만 추후 고도화때 하고자 한다. 2. 아이디 찾기아이디(이메일 ) 화면은 위와 같다.이름과 생년월일을 입력하고 '찾기'버튼을 클릭한다.users 테이블의 정보와 일치하면 다음 화면에서 이메일을 알려주고, '비밀번호 찾기' 혹은 '로그인'페이지로 이동할 수 있다. // 이메일(아이디 찾기) @PostMapping("find-email") public ResponseEntity .. 2025. 5. 2. 이전 1 2 3 다음