#logout

질문 2
해시태그 없이 키워드만 일치하는 질문은 개수에 포함되지 않아요.

일 년 전 · 박정환 님의 새로운 답변

개인 프로젝트 Git 관리

혼자서 게시판 프로젝트를 하려고 합니다. 국비학원에서 팀플할때는 일반적인 Git flow를 따라서 main - develop - feature (bugfix는 따로 하지 않았음) 이런식으로 진행했었는데 혼자서 할때도 feature까지 필요할까요? 일단 크게 Member와 Board를 develop 브랜치로 나누려고 합니다. 그 안에서 signup, login, logout, list 등 세부적인 기능마다 feature를 만들어야할지 아니면 그냥 develop 정도만 나누고 기능은 구현할 때마다 commit하면 될지 고민입니다. 혹시 너무 복잡해져서 꼬일까봐 걱정도 됩니다. (git 꼬이면 많이 힘들어지잖아요..ㅎ) 지금 이력서에 제출할 포트폴리오 용으로 만드는거라 면접관 관점에서 봐주시면 좋을 것 같습니다. 개인 프로젝트지만 git flow를 열심히 따랐다 vs 굳이 그렇게까지 필요하지 않다(중요하지 않다) 조언해주시면 감사하겠습니다.

개발자

#git

#개인-프로젝트

#버전관리

#git-flow

#git-workflow

답변 2

댓글 0

조회 157

일 년 전 · 익명 님의 질문

React Spring 배포과정 중 의문의 404

react + spring boot로 진행하는 프로젝트가 현재 cloudtype이라는 플랫폼으로 배포중에 있습니다. 문제는 정확한 서버주소를 호출하는 것 같음에 불구하고 404 에러가 발생하여 해결하지 못하고 있습니다. 현재, 아래 사진과 같은 로그가 클라이언트, 서버에 각각 발생합니다. 서버에서는 다음과 같이 구성되어있고 @RestController @RequestMapping("/v1/login") @RequiredArgsConstructor @CrossOrigin(origins = "https://web-secondchance-front-bug-1cupyg2klvnmgdft.sel5.cloudtype.app") public class KakaoController { private final KakaoService kakaoService; private final Logger LOGGER = LoggerFactory.getLogger(KakaoController.class); @PostMapping("/kakao-login") public ResponseEntity<UserDto> kakaoLogin(@RequestBody KakaoLoginDto kakaoLoginDto) { String code = kakaoLoginDto.getCode(); LOGGER.info("Get Code from FrontEnd : {}", code); LOGGER.info("Request getAccessToken()"); kakaoLoginDto = kakaoService.getAccessToken(code); String accessToken = kakaoLoginDto.getAccess_token(); LOGGER.info("access_token : {}", accessToken); if(accessToken != null){ UserDto userDto = kakaoService.getUserInfo(accessToken); return ResponseEntity.ok(userDto); } else { return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null); } // accessToken이 null임에도 getUserInfo를 부름. // 안부르게 끔 위의 방법을 포함하여 // 1. map에서 true, false를 사용하여 해봄 // 2. getAccessToken을 map객체로 반환하게끔 하여 accessToken이 있으면 true, 없으면 false로 하여 isEmpty 함수로 체크하여 부름 // 위의 두 방법 전부 소용없음. 그냥 getUserInfo를 부름. } @PostMapping("/kakao-logout") public String kakaoLogout(){ return "ok"; } } 현재 리액트에서는 다음과 같이 axios.post로 접근하여 code를 전달합니다. 무엇이 문제일까요?

개발자

#react

#spring-boot

#배포

#404

답변 0

댓글 0

추천해요 1

조회 162

일 년 전 · 이양일 님의 새로운 답변

스프링부트 ServiceInterface에 요청문 작성

안녕하세요 MSA아키텍처를 적용한 개인프로젝트 진행중에 궁금한 사항이 생겨서 글 작성합니다 회원정보 수정을 한 뒤 수정이 정상적으로 완료되었을 때 클라이언트에 완료되었다는 메세지와 함께 로그아웃 메서드를 실행시키고 싶어서 public interface IUserInfoService { @PostMapping(value = "security/v1/logout") void logout(); } 이렇게 서비스 인터페이스에 작성을 해두고 컨트롤러에서 userInfoService.logout(); 으로 호출하여 실행하는데 권장되는 방법인지, 더 좋은 방법이 있는지 궁금해서 질문드립니다

개발자

#springboot

#java

#spring-security

#msa

답변 1

댓글 0

추천해요 1

조회 338

일 년 전 · Ed 님의 새로운 답변

사용자 등급에 따라 다른 화면을 보여주고 싶어요.

Next.js 14버전을 사용하고 있습니다. 홈페이지에 접속했을 때, 사용자의 로그인 상태 여부에 따라 각기 다른 컴포넌트를 보여주고 싶습니다. const Main = () => { const isLogin = useRecoilValue(loginStatus); const user = useRecoilValue(userAtom); return ( <> <AuthWrapper> {isLogin && user ? <Login/> : <Logout />} </AuthWrapper> </> ) }; export default Main; isLogin과 user는 로그인 여부와 회원 정보에 대한 전역 변수입니다. isLogin의 default값은 false이고, user의 경우 isLogin이 true일 때만 존재합니다. (로그인 상태일 때 해당 유저 정보를 api로 호출) 그리고 <AuthWrapper>를 통해 해당 전역 변수들을 업데이트 해줍니다. 제가 원하는 건 최초 페이지 접속 시에 AuthWrapper를 통해 state값을 초기화해주고, 이에 알맞게 컴포넌트가 렌더링 되는 것입니다. 하지만 isLogin의 default값이 false이기에 로그인 상태일 경우, 순간적으로 Logout컴포넌트가 출력되었다가 AuthWrapper에서 검증 후 state값이 변경되면 Login컴포넌트가 출력됩니다. 이 순간적인 깜빡임을 없애고 바로 동작할 수 있게 하는 방법이 있을까요? +) 추가로.. 서버 사이드에서 처리하기에는 AuthWrapper 내부에서 storage값을 사용하거나 useEffect등을 사용하기에 불가능했습니다.

개발자

#next.js

#react

답변 4

댓글 0

조회 108

일 년 전 · 익명 님의 새로운 댓글

JWT vs 세션 사용

안녕하세요, 프로젝트를 진행하던 중에 JWT와 세션 사용에 대한 선택을 결정해야 했는데요. 일단, 클라이언트의 상태를 stateless하게 관리하고 서버의 부하를 줄이기 위한 선택으로 jwt를 도입하게 되었습니다. 근데 문득 궁금점이 생기더라구요. 1. jwt 토큰의 refresh 토큰 관리, logout 등의 기능을 위해 redis를 도입했는데, 세션도 서버의 메모리가 아니라 redis를 사용하게 되면 결국 서버의 부하를 줄여줄 수 있으니, jwt를 굳이 도입하는 이유가 있을까요? 1-1. 스스로 고민해본 결과로는 결국 정보를 jwt 토큰에 저장하느냐, 세션을 사용해서 세션의 정보를 DB에 저장하느냐 그 차이인 것 같은데 맞는지 궁금합니다. 그래서, 결국 redis를 사용하더라도 redis 자체의 부하를 줄여주지 못하는 건가 싶습니다.

개발자

#jwt

#세션

#redis

#인증

#인가

답변 3

댓글 2

추천해요 8

조회 2,266