전체 글

    [LeetCode] - Validate Binary Search Tree

    Binary Search Tree(BST) 검증하는 문제 root의 left는 root보다 작고 root의 right는 root보다 커야한다. SubTree도 같은 구조를 가져야 한다. /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ c..

    18. 가입 확인 이메일 재전송

    구현한 로직 가입 확인 이메일을 재전송할 수 있는 기능 제공 하지만, 너무 자주 이메일을 전송할 경우 리소스를 낭비할 수 있다는 문제가 있음 보완책으로, 1시간에 한번만 인증 메일을 전송할 수 있도록 제한한다. GET “/check-email” 가입 확인 이메일을 전송한 이메일 주소 (== 가입할 때 입력한 이메일 주소)를 화면에 보여줌. 재전송 버튼 보여주기. 재전송 버튼 클릭하면 GET “/resend-confirm-email” 요청 전송 GET “/resend-confirm-email” 인증 메일을 다시 전송할 수 있는지 확인한 뒤에 보낼 수 있으면 전송하고, 첫 페이지로 리다이렉트 보낼 수 없으면 에러 메시지를 모델에 담아주고 이메일 확인 페이지 다시 보여주기. 백기선님이 구현한 이메일 다시 보내..

    Implement Linked List

    참조 www.notion.so/Live-Study-4-ca77be1de7674a73b473bf92abc4226a [백기선님과 함께하는 Live-Study] 4주차 - 제어문/반복문 목표 www.notion.so

    [LeetCode] - Maximum Depth of Binary Tree

    이진 트리의 최대 깊이를 구하는 문제 의사 코드 root가 null인 경우 depth를 반환 아니면 left 혹은 right를 넣어서 순회 left와 right의 최대 깊이를 구함 둘 중에 큰 수를 반환 1차 시도 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = rig..

    17. 현재 인증된 사용자 정보 참조

    스프링 시큐리티의 스프링 웹 MVC 지원 @AuthenticationPrincipal 핸들러 매개변수로 현재 인증된 Principal을 참조할 수 있다. Princial을 어디에 넣었더라? public void login(Account account) { UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken( account.getNickname(), account.getPassword(), List.of(new SimpleGrantedAuthority("ROLE_USER"))); SecurityContextHolder.getContext().setAuthentication(token); } @Authentic..

    16. 첫 페이지 보완

    이번에 할 일 네비게이션 바에 Fontawesome으로 아이콘 추가 이메일 인증을 마치지 않은 사용자에게 메시지 보여주기 jdenticon으로 프로필 기본 이미지 생성하기 NPM으로 프론트엔f드 라이브러리 설치 npm install font-awesome npm install jdenticon 폰트어썸 아이콘 사용하기 Jdenticon으로 아바타 생성하기 타임리프 조건문 th:if 부트스트랩 경고창 스터디올레 가입을 완료하려면 계정 인증 이메일을 확인하세요. ... npm으로 내장 라이브러리에 있는 경로를 링크로 걸고 bell 아이콘 추가 jdenticon라이브러리 추가 svg생성 -> jdenticon값을 thymeleaf를 가지고 인증된 이름이 존재하면 해당 이름으로 생성 이번 강의에서 몰랐던 것 및..