반응형
반응형
1. 라이브러리import java.util.*;import java.io.*; 2. Arrays 배열// 1. 선언// 초깃값을 넣어서 선언한다.int arr[] = {1,2,3,4,5,6,7};// 배열의 크기를 지정하여 선언한다.int[] arr = new int [10];// 2. 정렬// 오름차순으로 정렬Arrays.sort(arr);// 내림차순으로 정렬Arrays.sort(arr, Collections.reverseOrder());// 일부만 정렬Arrays.sort(arr, 시작 인덱스값, 마지막 인덱스값);// 오름차순으로 정렬한 뒤 binary search로 특정 값 찾기Arrays.binarySearch(arr, 찾을값);// binary search에 옵션 주기// Arrays.b..
우선은 로컬로 직접 회원가입을 진행한 회원일 경우에만 회원정보를 수정할 수 있도록 구현하였다. 추후 sns 로그인 유저는 이메일만 수정할 수 있도록 구현할 예정. aws 요금 이슈가 발생해서 프로필 사진은 aws가 아닌 다른 루트를 찾아봐야 할 것 같다 ㅠㅠ ............................................................................................................. 다 울었으니 할 일을 해야지 일단 이메일과 닉네임을 변경하는 회원정보 수정 로직을 구현하고, 다른 페이지에서 비밀번호를 변경하는 내용을 구현하여 배포까지 완료했다. 저번에 했던 거라서 금방 슉 진행했다. 이메일 인증 라우터는 회원가입 시 구현했던 미들웨어와..
구글, 카카오, 네이버 로그인 구현을 편하게 해보기 위해 passport 라이브러리를 사용하였다. 그러나 passport 라이브러리는 기본적으로 Serialize, Deserialize를 통해 세션에 유저의 정보를 저장한다. 내가 배포하는 환경은 아주 작은 무료 서버이고, 서버의 메모리를 사용하는 세션을 사용하는 일은 줄이고 싶어서 쿠키를 이용하는 JWT로 바꾸어 보았다. 도중에 passport-jwt를 이용하다가, 안그래도 라이브러리를 많이 사용하고 있는데 라이브러리 의존성이 너무 높아지는 것 같기도 하고, 그래봤자 jwt 전략을 하나 더 만들게 해줄 뿐이라 코드가 더 복잡해지는 느낌이 들어 바닐라로 리프레시 토큰과 엑세스 토큰을 인증하고 재발급하는 미들웨어를 구현했다. 소요 기간 - 1일 Fronte..
passport-local 로그인을 구현하고 나서.. jwt로 유저인증을 처리하려고 했는데 계속해서 Failed to serialize user into session 에러가 났다. session:false를 줬는데도 자꾸만 에러가 나서 (에러나는 코드) router.post("/login", function (req, res, next) { passport.authenticate( "local", //JWT를 사용할 것이므로, 세션을 사용하지 않는다. { session: false }, 아 이럴때는 현자들의 코드를 보자 싶어 깃허브 쇼핑을 갔다가.. req.login을 할 때 false를 주는 것을 발견 return req.login(user, { session: false }, (loginError)..
인증메일 구현을 완성하고 보니, 노드메일러를 통해 메일이 발송되기까지 약 5~10초정도의 딜레이가 걸리는 사실을 알게 되었다. 따라서 로딩 상태를 만들어주고, loading State가 true일 경우에 로딩창을 띄운 뒤 완성되면 사라지도록 하기 위해 loading 스테이트를 추가해 주었다. const [loading, setLoading] = useState(false); 그리고 못생긴 alert창을 바꿔주기 위해 모달을 새로 디자인했다. props를 통해 메세지를 전달받아, 그때그때 재사용 할 수 있도록 만들었다. import React, { useState, useEffect } from "react"; import Button from "react-bootstrap/Button"; import M..