PowerShell에서 npm 명령어 실행 시 "이 시스템에서 스크립트를 실행할 수 없으므로..."라는 오류가 발생하는 것은 PowerShell의 스크립트 실행 정책 때문입니다. 기본적으로 PowerShell은 보안을 위해 .ps1 스크립트 파일의 실행을 제한합니다.🔧 해결 방법: 실행 정책 변경PowerShell을 관리자 권한으로 실행합니다.시작 메뉴에서 PowerShell을 검색한 후, 마우스 오른쪽 버튼을 클릭하여 **"관리자로 실행"**을 선택합니다.(wansdream)현재 실행 정책 확인:Restricted로 표시된다면, 스크립트 실행이 제한된 상태입니다.Get-ExecutionPolicy실행 정책 변경:RemoteSigned는 로컬에서 생성한 스크립트는 실행을 허용하고, 인터넷에서 다운로드한..
Prisma 주요 명령어1. prisma migrate데이터베이스 스키마 변경사항을 추적하고 관리하는 명령어 세트입니다.prisma migrate dev: 개발 환경에서 마이그레이션 파일을 생성하고 적용합니다. 변경 내용을 추적하는 히스토리를 남깁니다.prisma migrate reset: 데이터베이스를 초기화하고 모든 마이그레이션을 처음부터 다시 적용합니다.prisma migrate deploy: 프로덕션 환경에서 마이그레이션을 실행합니다. 히스토리를 따라 마이그레이션을 순차적으로 적용합니다.prisma migrate status: 현재 마이그레이션 상태를 확인합니다.2. prisma generatePrisma Client를 생성하는 명령어입니다.schema.prisma 파일을 기반으로 타입 안전한 데..
// App Router 사용 예제// ------------------------------// Next.js App Router (app/ 디렉토리)// 1. 기본 페이지 구조 - app/page.tsxexport default function HomePage() { return ( Next.js App Router 예제 App Router를 사용한 홈페이지입니다. );}// 2. 중첩 라우팅 - app/products/page.tsxexport default function ProductsPage() { return ( 제품 목록 제품 1 제품 2 제품 3 );}// 3. 동적 ..
-- 스키마 권한 부여GRANT USAGE ON SCHEMA public TO postgres, anon, authenticated, service_role;-- 모든 테이블에 대한 권한 부여GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO postgres, anon, authenticated, service_role;-- 모든 시퀀스에 대한 권한 부여GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO postgres, anon, authenticated, service_role;-- 모든 함수에 대한 실행 권한 부여GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO..
Supabase의 UUID 값을 id BigInt @id @default(autoincrement()) 대신 사용하는 것은 일반적으로 안전하며, 많은 경우에 더 나은 선택일 수 있습니다. 각각의 장단점을 고려하여 프로젝트의 요구 사항에 맞게 결정하는 것이 중요합니다.BigInt @id @default(autoincrement())의 특징 및 고려 사항:장점:성능: 숫자형 ID는 인덱싱 및 비교 연산에서 UUID보다 약간 더 빠를 수 있습니다. 특히 데이터베이스 규모가 매우 커지는 경우에 미미한 성능 향상을 기대할 수 있습니다.순차적인 정렬: 자동 증가하는 숫자는 생성 순서대로 정렬하기 쉽습니다.간결함: UUID보다 사람이 읽고 이해하기 쉽습니다.단점:확장성 및 병합: 여러 데이터베이스 또는 분산 시스템 ..
Prisma의 보안 강점서버 사이드 전용: Prisma는 서버에서만 실행되므로 데이터베이스 접근 로직과 자격 증명이 클라이언트에 노출되지 않습니다.SQL 인젝션 방지: Prisma는 파라미터화된 쿼리를 사용하여 SQL 인젝션 공격을 자동으로 방지합니다.접근 제어: 애플리케이션 로직을 통해서만 데이터베이스에 접근할 수 있어, 세밀한 접근 제어가 가능합니다.타입 안전성: TypeScript와의 통합으로 런타임 오류를 줄이고 보안 취약점이 발생할 가능성을 낮춥니다.Supabase의 보안 고려사항클라이언트 노출: 클라이언트에서 직접 데이터베이스 작업을 수행할 수 있어, 잘못 구성될 경우 보안 위험이 있습니다.RLS(Row Level Security): Supabase는 PostgreSQL의 RLS를 사용하여 보..
Supabase vs Firebase: 비교 분석Supabase와 Firebase는 모두 백엔드 개발을 간소화하기 위해 데이터베이스, 인증, 스토리지 등 다양한 기능을 제공하는 Backend-as-a-Service (BaaS) 플랫폼입니다. 하지만 데이터베이스 구조, 가격 정책, 커스터마이징 가능성, 생태계 지원 측면에서 큰 차이가 있습니다. 아래는 두 플랫폼의 상세 비교입니다.주요 차이점데이터베이스 구조Supabase: PostgreSQL 기반의 관계형 SQL 데이터베이스를 사용합니다. 복잡한 관계형 데이터와 고급 쿼리 기능이 필요한 경우 적합합니다.Firebase: Firestore라는 NoSQL 문서 기반 데이터베이스를 사용합니다. 유연하거나 비구조적인 데이터 모델에 적합합니다.오픈소스 여부Supa..
1. 필요한 패키지 설치터미널에서 다음 명령어를 실행하여 NextAuth, MySQL2(프로미스 지원), bcryptjs 패키지를 설치합니다.npm install next-auth mysql2 bcryptjs2. NextAuth API 라우트 생성Next.js의 API 라우트를 사용하여 인증 엔드포인트를 생성합니다. (Next.js 13 기준으로 pages 디렉터리를 사용하는 경우의 예제이며, app 디렉터리 사용 시에는 약간의 구조 차이가 있습니다.)파일 경로: pages/api/auth/[...nextauth].ts"use server";import NextAuth from "next-auth";import CredentialsProvider from "next-auth/providers/creden..
1. 프로젝트 루트에 .env 파일 생성프로젝트 루트(예: package.json 파일이 위치한 곳)에 .env 파일을 생성합니다.보통 민감한 정보(예: 데이터베이스 접속 정보, API 키 등)를 저장합니다.MYSQL_HOST=localhostMYSQL_USER=your_mysql_usernameMYSQL_PASSWORD=your_mysql_passwordMYSQL_DATABASE=your_database_name주의:클라이언트 사이드에서 사용해야 하는 변수는 반드시 NEXT_PUBLIC_ 접두사를 붙여야 합니다.예: NEXT_PUBLIC_API_URL=https://example.com/api2. Next.js가 .env 파일을 자동으로 로드Next.js는 기본적으로 프로젝트 루트의 .env, .env..
✅ route.ts(라우트 API) vs. Server Actions 비교라우트 API (route.ts) 서버 액션 (use server)방식HTTP 요청(예: fetch, axios)을 통해 API 엔드포인트를 호출서버에서 직접 함수를 호출하여 실행사용법app/api/.../route.ts에 작성 (GET, POST, PUT, DELETE 가능)use server 키워드를 사용하여 서버 함수 실행보안API 호출을 통한 요청이므로 CSRF 방어 필요클라이언트에서 직접 실행할 수 없어 CSRF 공격 걱정 없음유연성외부 API와의 통합이 용이클라이언트와의 직접적인 상호작용에 적합상태 관리fetch 요청으로 데이터를 가져와야 함클라이언트 컴포넌트에서 바로 실행 가능최적화캐싱 및 CDN을 활용할 수 있음페이지..
- Total
- Today
- Yesterday
- jstl(java standard tag library)-core
- 제품 등록
- java web-mvc
- await
- system.io
- docker
- React
- 스프링 프레임워크(spring framewordk)
- REST API
- 특정 문자를 기준으로 자르기
- 진수 변환
- In App Purchase
- System.Diagnostics
- 인텔리제이(intellij)
- jsp 오픈 소스
- 메이븐(maven)
- 스프링 시큐리티(spring security)-http basic 인증
- nl2br
- 스프링 프레임워크(spring framework)
- MainActor
- error-java
- jstl(java standard tag library)
- .submit()
- java 키워드 정리
- 표현 언어(expression language)
- java.sql
- 문자 자르기
- java-개발 환경 설정하기
- 스프링 시큐리티(spring security)
- 람다식(lambda expression)
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |