이번에 두 개 이상의 쿠키를 설정하는 방법을 몰라서 삽질을 했습니다. 다른 분들은 저처럼 삽질하지 마시라고 기록합니다!🤣 우선 기본적인 쿠키 설정 방법 예시입니다. ✨ 쿠키 설정 예시 import { serialize } from "cookie"; export async function POST(res: Response) { ... const ACCESS_SERIALRIZE = serialize("kakaoAccessToken", access_token, { httpOnly: true, secure: process.env.NODE_ENV === "production", sameSite: "strict", maxAge: expires_in, path: "/", }); return NextResponse.j..
✨ 클래스 확장 클래스 역시 extends 키워드를 사용하여 확장할 수 있습니다. class Teacher { teach() { console.log("teach") } } class StudentTeacher extends Teacher { learn() { console.log("learn") } } 할당 가능성 확장 파생된 인스턴스는 기본 클래스 또는 하위 클래스를 충족하는데 사용할 수 있습니다. class Lesson { subject: string constructor(subject: string){ this.subject = subject; } } class OnlineLesson extends Lesson { url: string; constructor(subject: string, url:..
✨ 클래스 메서드 class Greeter { message: string constructor(message: string){ this.message = message; } greet(name: string){ console.log(`${this.message} ${name}`) } } new Greeter("hi").greet("Jack") // OK new Greeter().greet("Jack") // ERROR Expected 1 arguments, but got 0. new Greeter("hi").greet() // ERROR Expected 1 arguments, but got 0. ✨ 클래스 속성 클래스 속성을 읽거나 쓰려면 명시적으로 선언해야 합니다. 인스턴스에 존재하지 않는 멤버에 접..
✨타입 별칭 vs 인터페이스 인터페이스는 병합(merge)할 수 있습니다. 내장된 전역 인터페이스 혹은 외부 코드를 사용할 때 유용합니다. 인터페이스는 클래스가 선언된 구조의 타입을 확인하는 데 사용할 수 있지만, 타입 별칭은 그럴 수 없습니다. 일반적으로 인터페이스가 더 빨리 작동합니다. ✨속성 타입 선택적 속성 interface Poet{ born?: number; // ? 키워드로 선택적 속성 사용 name: string; }; 읽기 전용 속성 interface Poet{ readonly born: number; // readonly 키워드를 이용하여 다른 값으로 설정할 수 없음을 나타냅니다. name: string; }; const poet: Poet = { born: 1980, name: "AB..
로그인 Auth를 구현하기 위해서는 두 가지 방법을 사용할 수 있는데요, 세션을 사용하는 방법. 토큰을 사용하는 방법. 세션과 토큰의 차이는 다음 블로그 글을 참고해주세요. [개발 상식] 쿠키, 세션, 토큰 어떤 차이일까? 이번 글은, 세션과 토큰의 차이점을 공부하며 정리한 글입니다. 세션과 토큰의 차이점을 알고, 적시에 사용할 수 있는 프로그래머가 되어 봅시다! 우선 세션과 토큰을 설명하기 앞서, 쿠키라는 lurgi.tistory.com ❓세션과 토큰의 장단점? 토큰의 강력한 장점은 DBless한 구조를 만들 수 있다는 것입니다. 세션은 세션DB가 따로 필요하거든요. 따라서 사용자 수가 급증함에 따라 세션 구조를 사용하는 서비스는 서버 관리에 비용이 점차 증가하게 됩니다. 그래서 많이 사용하는 방법이 ..
✨ 배열 타입 배열과 함수 타입 let createStrings : () => string[]; // 문자열로 구성된 배열을 반환하는 함수 let stringCreators : (() => string)[]; // 함수의 배열 유니언 타입 배열 let stringOrArrayOfNumbers: string | number[]; // 문자열이거나, 값이 숫자인 배열 let arrayOfStringsOrNumbers: (string | number)[]; // 값이 문자열, 숫자인 배열 any 배열의 진화 any타입을 허용하거나, 일반적으로 사용하면 타입 검사 목적을 부분적으로 무효화합니다. const arr = []; // const arr: any[] arr.push('') // const arr: st..