일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- 중간 평균값 구하기
- spring
- 프로그래머스
- java
- 백준
- array
- 배열
- 삼성소프트웨어아카데미
- 카카오
- mybatis
- 코테
- 정렬
- 콜백지옥
- 인프런
- 코딩
- NestJS
- stack
- javascript
- 코테준비
- 자바스크립트
- js
- 그리디알고리즘
- 삼성
- 코딩테스트
- 알고리즘
- AtoZ0403
- 자료구조
- SWEA
- 스텍
- Today
- Total
목록전체 글 (122)
개발에 AtoZ까지
이슈 Error: Text content does not match server-rendered HTML 프로젝트 환경 MonoRepo Next.js 12.3.1 React 18.2.0 M1 Macbook Pro 🔍원인 Next.js의 getServerSideProps를 활용하여 특정 페이지에서 SSR(server-side rendering) 사용했는데 React 트리 간에 차이가 존재하여, React 트리가 DOM과 동기화되지 않아 발생한 이슈였습니다.😭 조금 더 자세히 확인해보면 Next.js는 Pre-rendering이 Default입니다. Pre-rendering이란? 클라이언트측 JS에서 모든 작업을 수행하는 대신 미리 각 페이지에 대한 HTML 파일을 생성합니다. 이렇게 미리 HTML 파일을 ..
문제상황 error - Module not found: Error: Can't resolve 'next-swc-loader' in '파일 디렉토리’ 프로젝트 환경 MonoRepo Next.js 12.3.1 React 18.2.0 M1 Macbook Pro원인 Next.JS는 rust 기반 컴파일러 SWC를 사용하여 컴파일을 하는데 이 컴파일러 SWCsms Babel 보다 최대 17배 빠르고 fast refresh는 최대 5배 빠른 컴파일러 입니다. SWC는 rust(c언어 기반) 기반으로 하고 있기 때문에 시스템과 호환되는 바이너리를 다운로드 받아야 합니다. 다운로드가 실패했거나 아키텍처와의 비호환성으로 인해 로드에 실패할 수 있습니다. 만약 실패시 위와 같은 에러가 발생할 ..
안녕하세요 😀 한동안 웹 최적화에 대해서 관심이 있었는데 그 분야와 연관성이 있는 defer와 async에 대해서 알아보겠습니다. 글은 크게 아래와 같은 소주제로 진행하겠습니다. JS는 언제 다운로드 받을까? defer / async 의 정의와 어떤 차이가 있을까? 각 속성을 적절하게 사용하는 방법은 뭘까? 마무리 JS는 언제 다운로드 받을까? 일전에 브라우저 렌더링 하는 과정에 대해서 공유해 드린 적이 있는데 그 부분에서 HTML이나 CSS에 대해서는 언급이 있었지만, JS에 대한 언급은 없었습니다. 그래서 JS는 언제 다운로드 받고 어떻게 적용되는지 궁금하실 수도 있을거 같아요. 보통 HTML을 다운로드 받고 HTML에서 import 한 JS를 다운로드 받습니다. 그런데 JS는 항상 같은 순서로 다운..
근래에 웹 최적화에 관해 관심을 가지면서 Reflow와 Repaint에 대해서 다시 한번 짚고 넘어가 보려고 합니다. 혹시나 브라우저 렌더링에 대해 상기하고 싶으신 분이 있다면 이전 글을 보고 오시는 것을 추천합니다. 이 글은 아래와 같은 목차로 진행하겠습니다. 1. Reflow가 뭘까? 2. Repaint는 뭘까? 3. 둘의 차이점은 뭘까? 4. 최적화 관점에서 어떻게 해야 할까? 5. 마무리 Reflow가 뭘까? Reflow란 HTML 파일을 불러와 Parsing을 통해 Render Tree를 형성하게 되는데, 어떠한 액션이나 이벤트로 인해 Dom의 크기나 위치 등의 값이 변경되어 Layout 과정을 다시 수행하게 됩니다. 이렇게 다시 수행되는 과정을 통틀어서 Reflow라고 합니다. 말로 하면 감이..
우리가 흔히 알고 있는 chrome, safari, opera 같은 브라우저는 어떻게 렌더링이 되는 걸까?라는 의문에서 시작해서 이 글을 쓰게 됐다. 이 글은 크게 아래와 같은 순서로 진행됩니다. 브라우저란 뭘까? 브라우저의 구조는 어떻게 될까? 브라우저마다 렌더링 엔진은 다를까? 브라우저가 어떻게 렌더링 되는 걸까? 마무리 브라우저란 뭘까? 가끔 이런 경험을 해본 적이 있을 것이다. pdf를 받아서 chrome으로 열기를 누르면 해당 파일이 열린 적이 있을 것이다. 단순히 웹서핑할 때만 브라우저를 이용했던 분은 의아했을 것이다. 하지만 정확히 브라우저의 주요 기능을 알게 되면 왜 브라우저를 통해 pdf 파일을 열수 있는지 이해될 것이다. 브라우저는 사용자가 선택한 자원을 서버에 요청하고 브라우저에 표시..
목차 - 함수 호출 - Tagged Templtes식 호출 함수 호출 일반적인 함수호출 const multiple = (a,b) => { return a*b; } console.log(multiple()); Tagged Templates식 호출 태그를 사용하여 템플릿 리터럴(Template Literal)을 함수로 파싱할 수 있습니다. ✏️ 템플릿 리터럴(Template Literal)이란? 더보기 내장된 표현식을 허용하는 문자열 리터럴로 표현식 / 문자열 삽입, 여러 줄 문자열, 문자열 형식화, 문자열 태깅등 다양한 기능을 제공합니다. 이렇게 템플릿 리터럴을 사용해서 표현하면 런타임 시점에서 일반 JS 문자열로 처리 및 변화되어 동작합니다. const num1 = 2; const num2 = 3; co..
목차 Controller 정의 및 사용 NestJS Controller 관련 Decorator 종류 마무리 Controller 정의 및 사용 Controller란? Controller란 Client에서 들어오는 요청을 처리하고 Client에게 처리결과를 전달해주는 역할 한다. 다시말하면 A라는 요청이 들어오면(Request) 이 요청을 처리할 수 있는게 누구인가(Service) 하고 찾아서 처리할 수 있는 곳에 전달하고 처리 후 결과를 다시 Client에게 전달하는것이다. Controller 사용 import { Controller, Get } from '@nestjs/common'; @Controller('cats') //@Controller => Decorator export class CatsCon..
목차 NestJS란? NestJS 와 Express 비교 마무리 NestJS 란? NestJS는 Express의 단점을 보완하기 위해 출시된 웹 API프레임워크 입니다. Express는 과도한 유연함으로 인해 SW의 품질이 일정하지 않고 알맞은 라이브러리를 찾기 위해 많은 시간을 할애해야하는 단점이 있습니다. 이런 단점을 해결하기 위해 NestJS는 데이터베이스, ORM, 유효성검사등의 수많은 기능이 프레임워크 자체에서 기본적으로 제공하고 있습니다. 그러면서도 필요한 라이브러리등을 손쉽게 설치하고 기능을 확장 시킬수도 있습니다. NestJS는 객체 지향적인 프레임워크로 IoC(Inversion of Control, 제어역전), DI(Dependency Injection, 의존성 주입), AOP(Aspec..