전체 글 68

23-11-28 windows 개발환경에 php 설치

1. php 설치 https://windows.php.net/download/ 링크에 들어가 버전에 맞는 php 설치 2. 압축 해제 및 ini 파일 수정 2-1. 필자는 C:\php8.3.0 에 압축을 해제함 2-2. php.ini-development 파일을 복사 붙여넣기 해서 php.ini 파일로 이름 변경 2-3. php.ini 파일을 vscode 에서 열고 ctrl+f로 본인이 원하는 기능을 찾아 주석을 해제해야함 - extension_dir = 'C:\php8.3.0\ext' - extension의 경로를 설정 - short_open_tag = on -

카테고리 없음 2023.11.28

jwt 관련 정리글 (만료시간, 토큰 생성 및 통신, 시나리오)

※ 아래 글을 읽기전 확인사항 1. 필자는 MEVN(MongoDB, Express.js, Vue.js, Node.js) 프로젝트를 하고있음 2. refresh 토큰과 access 토큰을 사용 3. refresh 토큰은 redis에 저장하여 사용 ※ 만료시간 관련 1. jwt 인증시간을 설정하면 앞단에서 만료시간을 정할 필요가 없음. - 토큰의 만료시간은 토큰을 검증하는 과정속에서 내가 정해둔 만료시간을 확인하고 만료시간 도달시 재발급 하는 수순으로 작업하게됨 (지우게 된다면 좀 끔찍해질수도..) 2. 그러나 redis의 만료시간은 설정해주는게 좋을거 같음 (개인적인 생각) - 불필요한 리소스를 삭제하는게 옳다고 생각하기 때문 (물론 refresh token의 만료시간은 길다.) ※ 토큰 생성 및 통신 1..

23-09-10 passport를 활용하여 login기능 구현

※ 목차패키지 구조passport 동작 과정auth.jslocal strategy.js, index.jsmiddlewares.jsapp.js 적용postman test후기 0. 패키지 구조 1. passport 동작 과정 routes/auth.js /login 으로 POST요청이 올경우 passport.authenticate실행. 첫번째 매개변수(전략)을 통해 내가 설정한 전략을 실행함. * local 전략이라는 가정하에 작성 passport/localStrategy.js LocalStrategy 객체에 내가 options으로 설정한 필드값을 검증받아 객체 생성 상수(이하 user)에 id를 req.params값으로 받아 db에서 id탐색 탐색 후 찾는 id가 있다면 비밀번호 검증 실행 검증 후 비밀번호..

23-09-09 jetbrains datagrip에 mongodb cluster 연결하기

나는 Spring data JPA를 사용할 때 직접 쿼리를 생각하고 생각한 쿼리대로 코드를 작성했었다. MEVN 프로젝트중 MongoDB는 첫 사용을 하는것이라 코드를 작성하면서 자꾸 헷갈릴때가 있었다. datagrip에 직접 쿼리를 날리고 백엔드 코드를 작성하면서 빠르게 MongoDB를 익혀야겠다는 생각에 이 글을 작성한다. datagrip에 mongodb cluster를 연결하는방법에 대해 구글링 해봤지만 모두 local에서 연결하는 법만 나왔고 그냥 내가 알아서 해봐야겠다는 생각에 직접 해봤는데 정말 간단했다. (사실 이렇게 간단한걸 여러시도끝에 해낸 내가 바보같긴함) 연결방법은 아래와 같다. * 아래 방법은 mongodb 클러스터 생성, datagrip설치를 생략하고 진행 1. mongodb 로그..

DATABASE 2023.09.09

23-08-29 Jest #1 설치 및 설정

1. 설치 npm install --save-dev 2. 설정 pakage.json "test" 구문 변경 기존 >> "test" : "??" 변경 >> "test" : "jest" { "name": "board-back", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www", "test" : "jest" }, 입력 3. 간단한 테스트 3-1. fn.js 파일 생성 const fn = { add: (num1, num2) => num1 + num2, }; module.exports = fn; - 숫자 2개를 받아 더하는 함수를 만듬 3-2. fn.test.js 파일 생성 // 3-1에서 작성한 fn을 가져옴 const fn..

23-07-12 JAVA / Spring Bean Life Cycle

0. 목차 JAVA 객체의 Life Cycle Spring Bean의 Life Cycle References 1. JAVA 객체의 Life Cycle 객체의 Life Cycle에 대해 알아보자. 아래와 같이 크게 5단계로 나눌 수 있다. 객체생성 초기화 사용중 Finalized 소멸 1-1. 객체 생성 객체를 위한 메모리 공간을 Heap 영역에 할당, 클래스(설계도)로 부터 객체(완제품)을 new 키워드를 사용하여 생성 1-2. 초기화 객체가 생성되면 해당 객체의 인스턴스 변수들이 기본값으로 초기화 되며 생성자를 통해 인스턴스 변수를 원하는값으로 설정할 수 있다. 1-3. 사용중 초기화된 객체는 다른 객체에 의해 참조되어 있는 상태이다. 메서드 호출, 변수 조작 등과 같은 작업을 통해 객체를 활용할 수 ..

JAVA 2023.07.12