전체 글 179

vue 뷰 설치와 기본문법

- 코딩애플님과 vue 수련중 챕터 1 완료 https://codingapple.com/ 코딩애플 온라인 강좌 - 개발자도 단기완성! 단연 NO1 강사님의 NO.1 강의 역시나 명강입니다. IT 업계의 대치동 NO1. 강사같은 엄청난 강의력. 코딩애플님의 강의는, 엄청나게 기초적인 것부터 가르치는 듯 보이지만, 실제로 다루는 깊이는 절 codingapple.com vue node,vscode,yarn 설치 npm install -g @vue/cli vue create 프로젝트명 npm run serve 반복문 데이터바인딩 내용 //기본구성 {{ 작명 }} menu:['홈','상품','상세'], {{ v }} 50만원 01/10 컴포넌트 만들기 파일생성(파일명 두단어 조합으로 안하면 오류가 뜰 수 있음) ..

nextjs nodemailer 연동하기

# 이메일 보내기 - sendgrid 가입해야함 - twilio의 explore products에서 email 누르면 sendgrid로 이동함 - 포기함 그냥 nodemailer 사용하는게 좋을듯 - - 네이버 이메일 > 환경설정 > pop3/imap tjfwjd - - 탭두개다 사용함 체크하고 저장 - - npm install --save nodemailer @types/nodemailer email.js 파일만들기 import nodemailer from "nodemailer"; const smtpTransport = nodemailer.createTransport({ service: "Naver", host: "smtp.naver.com", //앱에서확인가능 port: 587, //앱에서확인가능 a..

nextjs 페이지이동 Link,useRouter

const router = useRouter(); 기존 react의 usenavigate 역할이다 { router.push("/"); }} className="w-[33%] flex justify-center text-4xl font-bold cursor-pointer text-teal-500"> 중고홈짐 클릭이벤트 통해서 router.push(url)로 이동 로고 import Link, { useRouter } from "next/navigation"; link 또한 react와 같이 쓸 수 있음 대신 next/navigation에서 호출해야 하고 to가 아닌 href속성을 갖는다.

nextjs에서 prsima, planetScale 연결

Prisma Node.js and Typescript ORM(Object Relational Mapping) => JS or TS 와 데이터베이스 사이에 다리를 놓아줌 (기본적으로 번역기의 역할을 한다고 생각하면 됨) Prisma를 사용하기 위해서는 먼저 Prisma에게 DB가 어떻게 생겼는지, 데이터의 모양을 설명해줘야 함 => schema.prisma Prisma가 이런 타입에 관한 정보를 알고 있으면 client를 생성해줄 수 있음. client를 이용하면 TS로 DB와 직접 상호작용 가능, 자동완성 제공. Prisma Studio : Visual Database Browser, DB를 위한 관리자 패널같은 것. prisma 익스텐션설치 npx prisma init //프리즈마폴더 // This i..

2023.01.02+ tailwind를 사용한 useform 에러처리

import React, { useState } from "react"; import { useForm } from "react-hook-form"; const Form = () => { const { handleSubmit, setValue, register, watch, formState: { errors }, } = useForm({ mode: "onChange" }); //onblur const onValid = (data) => { console.log(data); }; console.log(watch()); return ( value.includes("@gmail.com") ? "" : "Gmail is not allowed", }, })} type="email" /> ); }; export ..