🫠 TIL
🚧
아무것도 없어요😢
-
토큰이 만료되었을 때 Vue에서 어떻게 처리해야 할까?🤯 Jwt로 인증/인가를 처리할 때 정석은 엑세스 토큰과 리프레시 토큰을 둘다 발급받는 것이다. 엑세스 토큰은 유효기간을 짧게, 리프레시 토큰은 길게 설정하고 엑세스 토큰이 만료되면 리프레시 토큰을 통해 새롭게 엑세스 토큰을 발급받는 방식. 근데 난 토큰을 그냥 하나만 받았기 때문에 토큰이 만료되면 그냥 사용자를 로그아웃 시켜야 한다. 물론 api에서 로그아웃하는 일이야 어렵지 않다. 애초에 만료된 토큰으로는 인가 필터를 통과할 수 없어 500 에러를 반환하기 때문이다. 그런데 토큰이 만료되었을 때, 화면단에서 로그아웃을 시키려면 어떻게 해야 할까? 우선 내 프로젝트에서 고려할 사항은 다음과 같다. api는 토큰을 발급하고 응답 헤더에 보낸다. axios로 api와 통신한 뷰는 헤더에서 얻은 토큰과 로그..🫠 TIL2023.08.05
-
[Mac] Homebrew로 MySQL, DBeaver 설치하기MySQL 터미널에 다음 명령어 입력 brew install mysql brew services start mysql 설치가 완료됐으면 접속을 위해 다음 명령어를 입력한다. mysql -u root 처음 root 계정에는 비밀번호가 없어서 바로 접속 가능하다. DBeaver 터미널을 열고 다음 명령어를 입력해 설치한다. brew install dbeaver-community 응용프로그램에 설치된 DBeaver을 확인하고 실행하자. 오토커밋 해제 디비버 설치시 기본 설정으로 오토커밋이 활성화되어 있으며 필요에 따라 비활성화할 수 있다. settings > 연결 > 연결 유형 > Settings Auto-commit by default 체크 해제🫠 TIL2023.07.29
-
REST API에서는 인증/인가를 어떻게 처리할까?Vue.js를 활용해 프로젝트를 만들고 있다. 백단과 화면단을 완전히 분리시키기 위해 REST API를 만들고, axios를 통해 서버와 통신한다는 것까진 감이 잡혔다. 하지만 또다른 고민이 생겼다. 만약 로그인을 한 사용자만 접근할 수 있는 마이페이지에 비로그인 사용자가 접근한다면 어떻게 해야할까? 또 관리자 권한을 가진 사용자만 접근할 수 있는 관리자 페이지에 일반 회원이 접근한다면? JSP로 화면을 구현했던 지난 프로젝트들에서는 시큐리티에서 URI의 권한 여부를 설정하고, 권한이 없는 사용자가 접근하면 에러페이지를 반환하도록 했다. 하지만 페이지 이동이 프론트단의 라우터를 통해 이루어지는 CSR 프로젝트에서는 불가능한 일이다. RESTful REST API는 기본적으로 상태 없음을 지향한다. 세션을..🫠 TIL2023.07.27
-
[Mac] brew를 사용한 Maven 설치Homebrew brew는 Mac os에서 사용하는 패키지 관리자 애플리케이션의 일종이다. 패키지 관리자는 프로그램을 손쉽게 설치할 수 있도록 도와준다. 일반적으로 프로그램을 설치하려면 설치파일을 다운받고 실행하는 과정을 직접 수행해야 한다. 하지만 패키지 관리자를 사용할 경우, Terminal에 명령어 한줄만 입력해주면 설치파일을 다운로드하고 실행하는걸 넘어 환경변수 등 복잡한 설정까지 알아서 해준다. Homebrew 설치 🔗 해당 링크에 들어가 스크립트를 복사하고 터미널에서 실행해주면 설치 완. Maven 설치 터미널에 다음 명령어를 입력하면 메이븐 설치는 끝난다. brew install mvn mvn -version 명령어로 메이븐 버전을 확인해보자. 버전 정보가 출력된다면 제대로 설치된 것이다. ..🫠 TIL2023.07.24
-
[Mac] Apache Tomcat 9.0 설치하기Mac 개발환경 세팅을 위해 톰캣을 설치해보자. Apache Tomcat 설치 톰캣 다운로드 🔗 좌측 탭에서 설치할 톰캣 버전을 선택한다. 나는 9.0버전을 선택했다. 하단에 Binary Distributions에서 OS에 따라 파일을 선택한다. M1, M2는 tar.gz를 받으면 된다. 파일을 다운받고 압축을 해제한 후, 설치할 경로로 폴더를 이동해준다. bin 폴더에서 터미널을 열어준다. 터미널에서 bin 폴더로 경로를 변경해주어도 된다. ./startUp.sh 명령어를 입력해 톰캣을 실행한다. 브라우저를 키고 localhost:8080으로 이동한다. 해당 페이지가 나타나면 제대로 설치된 것이다.🫠 TIL2023.07.22
-
[Mac] IntelliJ IDEA 유료버전 설치하기Mac 맥북을 구매하기 이전에는 그램(...)으로 프로젝트를 했고, 또 남궁성님의 자바 강의를 들었기 때문에 자연스럽게 이클립스를 사용했다. 하지만 맥에서의 이클립스는 오류도 많고 한글을 입력하기에 어려움이 있다고 한다. 또한, 학생 신분이 사라지기 전 최후의 발악으로 인텔리제이 유료버전을 공짜로 사용해보고 싶기도 했다😋 인텔리제이 설치 인텔리제이 다운로드 🔗 유료인 Ultimate 버전이다. 인텔 맥인지 애플 실리콘 맥인지에 따라 해당되는 파일을 다운받는다. 다운받은 파일을 실행해 설치한다. 애플리케이션을 실행하면 라이센스를 인증해야 한다. JB Account를 선택하고, 링크에 들어가 인증받자. 설치 완. 이제 환경설정 하고 새로운 단축키 적응하느라 한동안 얼레벌레할것같다🫠 TIL2023.07.22
-
[Mac] JDK17 설치하기Mac Macbook Air 15가 출시됐다는 소식에 무작정 구매를 갈겼다. 지금 내 상황에서는 윈도우를 사는게 더 현명했겠지만 아 맥북 한번 써보고 싶은걸 어떡하라고요~ 곧 프로젝트도 시작하겠다 집에서 작업할 일이 꽤나 생길 것 같아서 미리미리 자바나 DB 관련 셋팅을 해놓으려고 한다. Java 설치 Oracle JDK 설치 링크 🔗 기존에는 JDK 11 버전을 사용했는데, 오라클에서 공식적으로 맥에 지원하는 버전은 17부터라고 한다... 로제타니 brew니 방법은 있다고 하지만 17도 많이 쓰인다고 하니 냅다 깔아보기로 했다. 다운로드 링크가 여러가지가 있는데, 파일명 하드웨어 정보와 확장자의 차이이다. DMG가 설치하기 간편하다 하여 2번째를 선택했다. 시스템 관련 정보는 터미널을 통해 확인할 수 ..🫠 TIL2023.07.22