![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bamCoM/btsHOiEm7b0/ZHbk6G5Kk6K6dPj9led7mK/img.png)
MongoDB를 이용해서 PATCH 요청을 보냈는데 결과값이 제대로 안뜨고 Invalid JSON이 뜬다.PATCH http://localhost:3000/api/short-links/665eb7c2ef6c89ac004f5e89Content-Type: application/json{ "title": "title",}HTTP/1.1 400 Invalid JSONDate: Tue, 04 Jun 2024 07:08:29 GMTConnection: closeTransfer-Encoding: chunkedInvalid JSON 이유를 찾아보니 JSON의 마지막 항목에는 쉼표가 오면 안된다고 한다. 따라서 아래와 같이 쉼표를 제거해주어야 한다.PATCH http://localhost:3000/api/short..
매번 검색하는 스크롤바 숨기기.. 이참에 정리해보자! 가로 스크롤이나 세로 스크롤 영역이 생기면 자동으로 스크롤바가 생기게 된다. 스크롤바를 없애려면 스크롤바가 생기는 부분에 브라우저 별로 스크롤바를 없애주는 css를 추가해주면 된다. 아래와 같이 코드를 사용하면 IE, Edge, Firefox, Chrome, Safari, Opera 등의 브라우저에서 스크롤바를 없애도록 대응할 수 있다..no-scroll { -ms-overflow-style: none; /* IE, Edge */ scrollbar-width: none; /* Firefox */}.no-scroll::-webkit-scrollbar { display: none; /* Chrome, Safari, Opera */} 참고http..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/E9jjU/btsHLOxukGm/I07Nud0rDzJjCY2V7McjS0/img.png)
외부 이미지를 불러오는 경우, 정확한 width와 height 값을 알 수 없을 때, Image의 fill 속성을 이용하면 된다.fill={true} // {true} | {false} 해당 이미지의 사이즈는 부모 사이즈로 결정되며, 아래와 같이 사용할 수 있다.import Image from "next/image";export default function Home() { return ( Hello world! example image );} 추가로 외부링크를 소스로 넣을 때 외부 링크를 사용할 수 없다는 에러메세지를 볼 수 있다.이것은 보안을 위해 허용된 도메인만 접근할 수 있게 막아둔 것 이며 next.config.js..
npm run dev, npm run start를 작성했더니 'next'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다. 와 같은 오류 메세지가 떴다. npm install 또는 npm i를 작성한 뒤 실행하면 잘 동작한다. npm install을 해야하는 이유는 다음과 같다. 1. 의존성 설치프로젝트를 처음 clone 받았을 때, node_modules 폴더는 존재하지 않는다. 이 폴더는 프로젝트가 의존하는 모든 npm 패키지를 포함하며, package.json 파일에 정의된 의존성 목록에 따라 생성된다. npm install 명령어를 실행하면 package.json 파일에 정의된 모든 의존성을 다운로드하고 설치하여 node_modules 폴더를 생성한다.2. pa..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cYJhHE/btsHLPhV6zg/3Bbhm3mOjH18f4Dr7XnLj0/img.png)
1. 리액트만 사용할 때와 비교해 Next.js를 사용하는 이유에 대해 설명해 주세요.리액트의 한계기본적으로 순수 리액트는 SPA(Single Page Application)이고, CSR(Client Side Rendering)을 한다. 웹 사이트를 요청할 때 현재 사용하지 않지만 앱에 필요한 모든 컴포넌트를 다운로드하고, 빈 html을 가져와 script를 로딩한다. 이로 인해 앱의 첫 로딩 시간이 오래 걸려 유저 경험을 헤치고, SEO(Search Engine Optimization)에 취약 하다는 단점이 있다. Next.js가 제공하는 이점1. 프리렌더링 기본적으로 프리렌더링을 지원한다. 데이터의 성격에 따라 getStaticProps를 활용해 빌드 단계에서 데이터를 받아 정적 생성 또는 SSR(..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/tSSgW/btsHKBdDywO/grqls7KDG1oN896ILSqIy1/img.png)
1. Next.js란?Next.js는 React 기반의 프레임워크로, 리액트에는 없는 서버 사이드 렌더링server-side rendering(SSR), 정적 사이트 생성static site generation(SSG), 증분 정적 재생성incremental static regeneration(ISR)과 같은 기능을 제공한다. 그렇다면 Next.js가 등장하게 된 배경은 무엇일까? Next.js 등장 배경1. Static Site에서 SPA로과거의 대부분의 웹사이트들은 SSR과 MPA (Multi Page Application) 방식으로 동작했다. 하지만 페이지 전환시 깜박거리는 이슈로인해 사용자 경험이 좋지 못했고 동시에 스마트폰의 시대가 도래하면서 웹사이트를 사용할 때도 모바일 앱처럼 부드럽고 빠..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/B5vaH/btsHAnMqF7h/ukd4uOWiiHbzXfzPwNQhj0/img.png)
in 문법: 객체에 특정 속성이 존재하는지 확인할 때 사용된다.typeof 문법: 변수의 타입을 확인할 때 사용된다 예제를 통해 알아보자. 1. in 문법interface Person { name: string; age?: number;}const person: Person = { name: "Alice", age: 30,};console.log("age" in person); // trueconsole.log("address" in person); // false 2. typeof 문법let x = "hello";let y = 42;let z = true;console.log(typeof x); // "string"console.log(typeof y); // "number"consol..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bjRVO1/btsHy7w1wqv/EFobIUP5faYKbwa6nXTh30/img.png)
keyof 연산자는 객체 타입으로부터 프로퍼티의 모든 key들을 String Literal Union 타입으로 추출하는 연산자이다.주의할 점은 keyof 연산자는 오직 타입에만 적용할 수 있는 연산자라는 점이다. 따라서 값과 함께 사용하려고 하면 오류가 발생한다. typeof 연산자는 자바스크립트에서 특정 값의 타입을 문자열로 반환하는 연산자이다. 다른 기능은 타입을 정의할 때 사용하면 특정 변수의 타입을 추론하는 기능도 가지고 있다. type Person = typeof person;// 결과// {name: string, age: number, location:string}const person = { name: "John", age: 25,}; 이러한 특징을 이용해 keyof 연산자를 다음과..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/xknLQ/btsHEoeWhg5/YExa9CIm3aOpJmzkBaj4IK/img.png)
npm run build 이후 npm run start 실행 시 Failed to start serverError: listen EADDRINUSE: address already in use :::3000 에러가 발생했다. 찾아보니 EADDRINUSE 에러는 포트 3000이 이미 사용 중이기 때문에 발생하는 오류라고한다.따라서 포트 3000을 사용 중인 프로세스를 종료하거나 다른 포트를 사용하도록 설정해야한다. 1. 포트 3000을 사용 중인 프로세스를 종료하기먼저 포트 3000을 사용중인 프로세스를 찾아야 한다. Windows: netstat -ano | findstr :3000macOS/Linux: lsof -i :3000나는 Windows를 사용하고 있어서 명령어를 치면 아래와 같이 뜬다. 다음으로..
- Total
- Today
- Yesterday
- 동기
- 리액트
- 스프린트프론트엔드6기
- 취업까지달린다
- map
- CSS
- 배열
- Target
- hydrationboundary
- tanstackquery
- js
- 제어 컴포넌트
- 코드잇스프린트
- javascript
- innerhtml
- 코드잇 스프린트
- GitHub
- html
- react
- Git
- arguments
- 프론트엔드
- Next.js
- 비제어 컴포넌트
- 객체
- 중급 프로젝트
- rest parameter
- currentTarget
- 비동기
- 유사배열객체
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |