일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 공통컴포넌트
- NonNullable
- react
- React Native
- Chart.js
- 폰트적용하기
- utilty type
- 리액트
- React.js
- JS console
- TSDoc
- 개발콘텐츠
- 티스토리꾸미기
- 성능최적화
- 2022
- click and drag
- reactjs
- 제네릭
- vue.js
- 커스텀
- CSS
- typescript
- 타입스크립트
- const 단언문
- javascript
- returnType
- 누구나 자료구조와 알고리즘
- 반복줄이기
- 타입좁히기
- 레이아웃쪼개기
- Today
- Total
목록Development (400)
몽땅뚝딱 개발자
1. 정적 배포HTML, CSS, JS만 있는 경우React, Vue -> S3, Vercel 등에서 호스팅 2. 동적 배포서버가 요청을 받고 처리한 결과를 응답Node.js, Django, Flask 3. 서버리스백엔드 코드를 Lambda 등에서 실행AWS Lambda + API Gateway 4. 컨테이너 기반 배포Docker로 만든 앱을 ECS, Fargate에 배포마이크로 서비스 5. CI/CD 자동 배포GitHub Actions 등으로 자동 푸시 & 배포GitHub → EC2 배포
1. ssh란?ssh란 Secure Shell의 줄임말이다. 아래 명령어는 원격서버에 보안 연결로 접속하는 명령어이다..pem은 Private Key 파일 확장자로 EC2 인스턴스를 만들 때 생성되는 비밀번호 대신 사용하는 인증키이다.ssh -i my-key.pem ubuntu@your-ip * 도서추천: 처음 배우는 AWS, 모두의 리눅스 2. nginx가볍고 빠른 웹 서버 소프트웨어이다.정적 파일(=프론트 빌드 파일)을 클라이언트에게 전달(=서빙)하거나 백엔드 API 서버로 프록시 연결도 해준다.nginx는 EC2 혹은 Docker 컨테이너 내부에서 실행된다. 3. Docker란? 앱 실행 환경을 통째로 포장한 박스이다. 환경설정 + 배포 + 실행을 표준화하는 기술이다.Node, Python,..
보호되어 있는 글입니다.
보호되어 있는 글입니다.


1. LCP (Largest Contentful Paint)"얼마나 빨리 콘텐츠를 보여줄 수 있냐"가장 큰 콘텐츠가 나타나기까지 걸린 시간으로 사용자가 페이지에 들어갔을 때 메인 컨텐츠라고 느낄만한 가장 큰 이미지나 텍스트 블록이 렌더링 완료되기까지의 시간이다. 좋은 기준은 2.5초 이내이다.이미지 lazy load폰트 preload서버 응답 시간 개선 (백엔드 속도 or SSR 등)CSS/JS 최적화 2. CLS (Cumulative Layout Shift) "보여주는 동안 화면이 안정적이냐"레이아웃이 갑자기 휙휙 움직이는 정도로 페이지 로딩 도중에 요소들이 예상치 못하게 움직이는 정도를 수치로 표현한다. 예를 들어, 버튼을 클릭하려는 순간, 배너가 늦게 로딩돼서 버튼이 아래로 밀리는 경우이다. 좋은..
XSS, CSRF 등 프론트엔드 취약점을 악용한 공격이 증가하고 있다.콘텐츠 보안 정책(CSP), 쿠키 보안 설정, 정기적인 보안 감사 등의 보안 강화조치가 필요하다. 1. XSS (Cross-Site Scripting)악성 스크립트가 그대로 실행되어, 브라우저에서 악성 코드가 실행되는 공격. 방법:innerHTML을 사용하지 않고 textContent, innerText를 사용한다. 2. CSRF (Cross-Site Request Forgery)사용자가 로그인된 상태에서 악성 사이트가 자동으로 요청을 보내도록 유도한다. 방법:1) CSRF 토큰을 사용하여 각 요청에만 유효한 토큰을 만들어서 제출 시 검증한다.2) SameSite 쿠키 설정: 외부 사이트에서 쿠키를 보내지 못하게 한다.3) R..
보호되어 있는 글입니다.
웹 워커(Web Worker)개념브라우저에서 UI와 분리된 백그라운드 스레드로 무거운 계산을 맡겨서 UI가 멈추지 않게 한다.CPU를 많이 사용하는 계산, 이미지 처리, 암호화 등을 하고 싶을 때 사용한다.DOM에는 접근 불가하다.💡 사용 예시: 이미지 필터 처리, 대규모 정렬 등📄 Web Worker가 없을 때// 이 코드는 브라우저를 몇 초간 멈추게 한다.const bigArray = [...Array(1e8)].map(() => Math.random());const sorted = bigArray.sort(); 📄 Web Worker 사용// main.jsconst worker = new Worker('sortWorker.js');worker.postMessage(bigArray); // 데..
지원되지 않는 브라우저 기능을 흉내내기 위한 코드이다.특정 브라우저에서 지원되지 않는 메서드가 있는 경우 이를 흉내 낸 코드를 포함시켜 기능을 동작하게 한다.요즘은 Babel + core-js 같은 도구가 자동으로 Polyfill을 추가해준다. 📄 Promise를 지원하지 않는 브라우저의 경우if (!window.Promise) { // Polyfill 코드 삽입 window.Promise = myCustomPromiseImplementation;}
React19를 토이프로젝트에 도입하게되면서 공부한 주요 특징들!서버/클라이언트의 경계가 흐려지며 Next.js와의 결합구조가 강화되었다. 1. Actions비동기 상태 업데이트를 간편하게 관리하는 새로운 패턴이다.직접 setState하지 않아도 되며 로딩도 관리할 필요가 없어졌다! 👏🏻👏🏻 기본 형태는 const [state, submitAction, isPending] = useActionState(actionFn, initialState)이다.actionFn: (prevState: StateType, formData: FormData) => PromiseinitialState: state의 초기값 📄 기존 방식 (React 18 이전)import React, { useState } fro..