본문 바로가기

개발61

Next.js middleware 에서 이전페이지 주소 확인 후 요청 처리 시나리오 외부에서 들어온 요청 중 url 이 A 인 경우에만 특정 처리를 해주려고 한다. 이 때 next 의 미들웨어에서 이전 url 을 확인하고, 이전 url 이 A 와 일치하는지 확인하려고 한다. 방법 next의 전역 middleware 에서 req.headers.get('referer') 를 사용하면 요청을 보낸 url 을 확인할 수 있다. middleware 란? Next.js에서 전역 미들웨어를 사용할 경우, 애플리케이션 전체에서 공통으로 적용되며 모든 페이지에 영향을 줍니다. 제가 사용한 전역 middleware 의 경우 애플리케이션이 실행될 때 가장 처음으로 실행되어서 apps 이전에 실행되는 곳입니다. import { NextResponse } from 'next/server' import.. 2023. 12. 11.
Next + React + typescript 프로젝트 생성 명령어 오랜만에 프로젝트를 생성해봤는데 역시 한번에 생성되지 않네요! 1. 프로젝트 생성 명령어 타입스크립트 안쓰면 app 까지만 입력. npx create-next-app --typescript 2. 오류 아래와 같이 노드 버전 오류가 남. error next@14.0.2: The engine "node" is incompatible with this module. Expected version ">=18.17.0". Got "18.8.0" error Found incompatible module. 3. 아래 명령어 순서대로 입력 npm install -g n npm cache clean -f sudo n stable 명령어 실행 후 다시 1의 프로젝트 생성 명령어 입력했더니 성공적으로 프로젝트 생성할수 있었.. 2023. 11. 11.
[vscode] html 자동완성 단축키 vscode 에서 html 파일 자동완성 단축키 ! 누르고 tab 키 누르기 안 써서 잊고 산 html 자동완성 이거였구나🤣 2023. 11. 8.
[JPA] @ElementCollection 어노테이션 ✔ 개념 RDB 는 Collection 형태의 데이터를 저장할 수 없다. 따라서 컬렉션을 저장하기 위해서는 별도의 테이블을 만들어서 따로 관리해줘야한다. Jpa 에서는 @ElementCollection 을 사용하여 해당 컬럼이 컬렉션 객체임을 알려줄 수 있다. 값 타입 컬렉션은 개념적으로 보면 1:N 관계이다. ✔사용방법 @Entity class Test { @Id @GeneratedValue(strategy = GenerationType.AUTO ) val id: Long = 0 @Column @ElementCollection var roles: List = ArrayList(); } roles 컬럼이 권한 여러개를 가질 경우 ElementCollection 어노테이션을 사용해서 별도의 테이블로 관리할.. 2023. 7. 1.