Programming
-
- [TypeScript] 제네릭(Generic)제네릭(Generic)들어가며타입스크립트(TypeScript)의 제네릭(Generic)에 대해 정리해본다. 제네릭(Generic)개념코드의 재사용성을 높이고 다양한 타입에 대해 동작할 수 있게 해주는 기능제네릭을 사용하면 타입을 우선 특정하지 않고, 나중에 사용할 때 그 타입을 지정할 수 있다.또한, 타입 추론이 더 강화되고, 반복적인 타입 코드를 줄일 수 있다.함수, 클래스, 인터페이스, 타입 등에 제네릭을 적용할 수 있다. 기본 문법제네릭을 사용할 때는 타입 매개변수(Type Parameter)를 정의한다.보통 @@와 같은 형식으로 사용하며, 원하는 이름을 지정하면 된다.@T@, @K@, @U@ 등이 관습적인 이름으로 쓰인다. 예제 코드 1 : 함수에서 제네릭 사용하기@identity@ 함수는 입력받..
2024.10.12 -
- [TypeScript] 인터페이스(Interface)인터페이스(Interface)들어가며타입스크립트(TypeScript)의 인터페이스(Interface) 타입에 대해 정리해본다. 인터페이스(Interface)개념객체의 구조를 정의하는 데 사용되는 타입객체가 가져야 할 속성, 그 속성의 타입, 그리고 메서드를 지정할 수 있다.자바스크립트에는 존재하지 않으며, 타입스크립트에서 사용 가능하다.코드의 가독성 및 유지보수를 쉽게 하고, 타입 안전성을 높여준다. 주요 기능객체가 특정 속성들을 반드시 가지고 있어야 하는 구조를 정의할 수 있다.특정 속성은 선택적으로 포함될 수 있도록 정의할 수 있다.예) @age?: number;@함수의 매개변수와 반환값의 타입도 인터페이스로 정의할 수 있다.클래스는 인터페이스를 @implements@ 키워드를 통해 구현할 수 있다...
2024.10.12 -
- [TypeScript] Zod 라이브러리Zod 라이브러리들어가며타입스크립트(TypeScript)에서 유효성 검사를 쉽게 해주는 Zod 라이브러리에 대해 정리해본다. Zod 라이브러리개념타입스크립트(TypeScript)에서 유효성 검사를 쉽게 해주는 스키마 선언 및 데이터 검증 라이브러리타입 안전성을 유지하면서 데이터의 유효성을 검사할 수 있도록 설계되어 있다.데이터 검증을 더욱 명확하고 직관적으로 수행할 수 있도록 도와준다. 설치$ npm install zod # yarn add zod 기본 사용법다음과 같이 간단한 문자열(String) 스키마를 만들 수 있다.import { z } from "zod";// creating a schema for stringsconst mySchema = z.string();// parsingmySchem..
2024.10.11 -
- [TypeScript] 타입 가드(Type Guard)타입 가드(Type Guard)들어가며타입스크립트(TypeScript)의 타입 가드(Type Guard)에 대해 정리해본다. 타입 가드(Type Guard)개념타입스크립트에서 변수의 타입을 좁히는 방법주로 조건문(Conditional Statement)을 사용하여 특정 타입임을 확인한 후, 해당 타입에 맞는 안전한 작업을 수행할 수 있도록 도와준다.타입 가드를 사용하면 컴파일 시점에 타입 오류를 방지하고, 코드의 가독성과 안정성을 높일 수 있다.타입 가드를 효과적으로 사용하면 런타임 오류를 줄이고, 개발 과정에서 타입 관련 버그를 미리 방지할 수 있으며, 코드의 의도를 명확하게 표현하여 협업 시 가독성을 높이는 데 큰 도움이 된다. 타입 가드는 런타임에서 변수의 타입을 확인하여 타입스크립트에게 해당 변수..
2024.10.10 -
- [TypeScript] 모듈 방식 사용하기모듈 방식 사용하기들어가며타입스크립트(TypeScript)에서 모듈 방식을 사용하는 방법을 정리해본다. 방법타입스크립트 파일(@.ts@/@.tsx@)은 기본적으로 모듈(Module)로 간주되지 않고, 전역 범위의 스크립트로 처리된다.여러 파일에서 동일한 변수명을 생성할 경우, 오류가 발생한다.fileA.tslet name = 'stickman';const susan = 'susan'; fileB.tsconst susan = 'susan'; // 오류 발생 이때, 다음과 같이 2가지 방법으로 타입스크립트 파일을 모듈로 변환할 수 있다. 방법 ① : @import@, @export@ 문 사용하기타입스크립트 파일에 @import@ 또는 @export@ 문을 추가하여 ES6 모듈로 취급되게 하는 방법이다. ..
2024.10.10 -
- [TypeScript] 인터페이스(Interface)와 타입 별칭(Type Alias) 비교인터페이스(Interface)와 타입 별칭(Type Alias) 비교들어가며인터페이스(Interface)와 타입 별칭(Type Alias)은 타입스크립트에서 타입을 정의하는 방법이다.타입스크립트(TypeScript)에서 인터페이스(Interface)와 타입 별칭(Type Alias)의 차이에 대해 정리해본다. 인터페이스(Interface)개념인터페이스는 주로 객체(Object)의 구조를 정의하는 데 사용된다.주로 객체의 속성과 메서드를 정의하는 데 사용된다.인터페이스를 구현하는 객체는 해당 인터페이스에서 요구하는 속성이나 메서드를 반드시 포함해야 한다.코드에서 객체의 구조를 명확하게 정의하고, 다른 코드에서 해당 구조를 따르도록 강제할 때 유용하다.@interface@ 키워드를 이용하여 생성할 수 있다...
2024.10.09 -
- [React.js] caseReducers 속성 (Redux Toolkit)caseReducers (Redux Toolkit) 속성들어가며리덕스 툴킷(Redux Toolkit)의 @caseReducers@ 속성에 대해 정리해본다.이 속성을 이용하면 슬라이스 내의 개별 리듀서 함수에 직접 접근하고 호출할 수 있다. createSlice() 함수와 caseReducers 속성createSlice() 함수슬라이스(Slice)를 정의하기 위해 사용된다.슬라이스는 특정 상태(State)와 그 상태를 변경하는 리듀서(Reducer)들을 한 곳에 모아놓은 것이다.슬라이스는 자동으로 액션 생성자(Action Creators)와 액션 타입(Action Types)을 생성해준다.reducers 옵션@createSlice@ 함수의 @reducers@ 옵션은 슬라이스의 상태를 변경하는 여러 개의 리..
2024.10.03 -
- [React.js] URL의 파리미터(Parameter) 값 가져오기URL의 파리미터(Parameter) 값 가져오기들어가며리액트(React.js)에서 URL의 파라미터(Parameter) 값을 가져오는 방법을 정리해본다. 파라미터(Parameter)개념URL 경로의 일부분으로, 주로 특정 리소스를 식별하는 데 사용된다.RESTful API 설계에서 흔히 사용되며, 리소스의 고유 식별자를 나타낸다.URL 파라미터를 사용하면 동적인 경로를 생성할 수 있어, 다양한 리소스에 대해 동일한 컴포넌트를 재사용할 수 있다. 종류종류설명경로 파라미터(Path Parameter)- 특정 리소스를 식별하는 데 사용- 예: @/users/:userId@쿼리 파라미터(Query Parameter)- URL의 @?@ 뒤에 위치하며, @키-값@ 쌍으로 다양한 옵션을 전달한다.- 예) @?sea..
1 2024.10.02 -
- [React.js] index.js로 컴포넌트(Component), 페이지(Page) 관리하기index.js로 컴포넌트(Component), 페이지(Page) 관리하기들어가며다음과 같이 @src@ 폴더 내부에 있는 @components@, @pages@ 폴더 안에 @index.js@ 파일을 생성하여 여러 컴포넌트와 페이지들을 하나의 파일에서 관리할 수 있다.이와 관련된 내용을 정리해본다. index.js개념리액트(React.js) 프로젝트에서 @pages@나 @components@ 폴더 안에 위치한 @index.js@ 파일은 해당 폴더 내의 여러 컴포넌트들을 한 곳에서 쉽게 불러올 수 있도록 다시 @export@ 해주는 역할을 한다.@index.js@ 파일 안의 내용은 다음과 같이 구성할 수 있다. 사용 방법@pages@ 또는 @components@ 폴더에 @index.js@ 파일을 생성한 후,..
2024.10.01 -
- [React.js] Thunk API (Redux Toolkit)Thunk API (Redux Toolkit)들어가며리덕스 툴킷(Redux Toolkit)의 Thunk API에 대해 정리해본다. Thunk API개념비동기 작업을 간편하게 처리할 수 있는 도구로, 여러가지 기능을 제공한다.주로 API 호출과 같은 비동기 작업을 처리할 때 사용되며, 액션(Action)을 디스패치(Dispatch)하고 애플리케이션의 상태를 관리할 수 있다. 구성기본적으로 2개의 매개변수를 제공한다.@dispatch@액션을 디스패치할 수 있는 함수비동기 작업의 결과에 따라 다른 액션을 보낼 수 있다. @getState@현재 스토어의 상태(State)를 가져오는 함수상태에 따라 로직을 다르게 처리할 수 있다. 사용 방법@createAsyncThunk@를 사용하여 비동기 액션 크리에이터를 생성..
1 2024.09.28 -
- [Python] 환경 변수 파일(.env) 다루는 방법환경 변수 파일(.env) 다루는 방법들어가며파이썬(Python)에서 @.env@ 파일을 다루는 방법을 정리해본다. .env 파일개념키(Key)-값(Value) 쌍으로 환경 변수를 정의하는 간단한 텍스트 파일이 파일을 사용하면 코드 내에 민감한 정보를 직접 작성하지 않고도 환경 변수(Environment Variable)를 쉽게 관리할 수 있다.@.env@ 파일을 사용하면 환경 변수를 효율적으로 관리할 수 있으며, 코드의 보안성과 유지보수성을 향상시킬 수 있다.API_KEY=your_api_key_hereDATABASE_URL=postgres://user:password@localhost:5432/mydatabaseDEBUG=True 방법패키지 설치하기@python-dotenv@ 패키지가 설치되어 있지 ..
2024.09.27 -
- [React.js] 리액트 라우터(React Router)리액트 라우터(React Router)들어가며리액트(React.js)에서 라우팅을 할 때 많이 사용하는 리액트 라우터(React Router) 라이브러리에 대해 정리해본다.v6을 기준으로 정리하였다. 리액트 라우터(React Router)개념리액트 애플리케이션에서 클라이언트 사이드 라우팅을 처리하기 위한 라이브러리리액트 라우터를 사용하면, 사용자가 페이지를 전환할 때 전체 페이지를 새로고침하지 않고도 URL에 따라 서로 다른 컴포넌트를 렌더링할 수 있다. 구성 요소BrowserRouterHTML5의 History API를 사용하여 URL을 관리한다.주로 애플리케이션의 최상위 컴포넌트로 사용된다. Routes각 경로에 대한 라우트를 정의하는 컨테이너하나 이상의 @Route@를 자식으로 가질 수 있다. Ro..
2024.09.26 -
- [React.js] 라우팅 관련 기능들 정리 (React Router) : useNavigate, useNavigation, redirect, useLocation, useParams, useHistory, Navigate라우팅 관련 기능들 정리 (React Router) : useNavigate, useNavigation, redirect, useLocation, useParams, useHistory, Navigate들어가며리액트(React.js)에서 라우팅을 위해 사용되는 관련 기능들에 대해 간단하게 정리해본다.페이지 이동 및 라우팅을 위해 리액트 라우터(React Router)의 여러 훅과 컴포넌트, 함수들을 사용할 수 있다. ① useNavigate()개념리액트 라우터(React Router) v6 에서 제공하는 훅프로그래밍적으로 다른 경로로 이동하기 위해 사용된다.컴포넌트 내에서 버튼 클릭, 이벤트 발생 시 특정 페이지로 이동할 때 사용한다. 특징@push@와 @replace@를 설정할 수 있어 히스토리에 추가..
1 2024.09.26 -
- [React.js] 폼 데이터 처리하기 (React, React Router)폼 데이터 처리하기 (React, React Router)들어가며리액트(React)에서 폼(@@) 데이터를 처리하는 방법을 정리해본다. 폼(Form, @@)개념HTML에서 사용자 입력 데이터를 수집하고 서버로 전송하기 위한 요소로그인, 회원가입, 검색 등 사용자 입력이 필요한 기능을 구현할 때 사용된다. Name: Email: Submit 특징@@ 요소에서 @method@ 속성을 지정하지 않을 경우, 기본적으로 @GET@ 요청이 수행된다.이때, @@ 요소 안의 @@요소의 값을 URL의 쿼리 문자열에 포함하여 서버로 전송한다.속성의 값을 @POST@로 지정할 경우, 데이터를 본문에 포함하여 서버로 전송한다.@@ 요소의 @action@ 속성의 값에 폼을 제출할 때 데이터를 보낼 서버의 URL을 ..
1 2024.09.26 -
- [React.js] 무한 스크롤(Infinite Scroll), 스켈레톤(Skeleton) 효과 적용하기 (with React Query)무한 스크롤(Infinite Scroll), 스켈레톤(Skeleton) 효과 적용하기 (with React Query)들어가며React Query를 이용하여 무한 스크롤(Infinite Scroll)과 스켈레톤(Skeleton) 효과를 적용한 예제 코드를 올려본다.개인 미니 프로젝트를 진행하면서 만들었던 코드이다.검색어를 입력하면, 해당 검색어와 관련된 이미지를 표시하는 사이트Unsplash 공개 API를 이용하여 구현하였다. 코드리액트 쿼리의 @useInfiniteQuery()@를 이용하여 무한 스크롤(Infinite Scroll) 기능을 구현하였다.@IntersectionObserver@를 사용하여 스크롤이 페이지의 맨 아래에 도달했을 때만 다음 페이지의 데이터를 불러오도록 설정하였다.@useStat..
2024.09.23 -
- [React.js] .env 파일 만들고 사용하기 (환경 변수 관리).env 파일 만들고 사용하기 (환경 변수 관리)들어가며리액트(React.js)에서 환경 변수 관리를 위해 @.env@ 파일을 만들고 사용하는 방법을 정리해본다. @.env@ 파일개념애플리케이션에서 사용되는 환경 변수(Environment Variables)를 저장하는 파일환경 변수는 운영체제나 애플리케이션의 설정 값들을 외부에서 설정하고 관리할 수 있게 해주는 변수들로, 코드에 직접 하드코딩하지 않고도 민감한 정보나 설정 값을 관리할 수 있게 해준다.리액트나 노드 같은 웹 애플리케이션에서는 주로 다음과 같은 정보를 @.env@ 파일에 저장한다.✅ API 키 ✅ 데이터베이스 연결 정보 ✅ API 엔드포인트 ✅ 앱 환경 설정 (개발, 테스트, 프로덕션 등) 특징애플리케이션에서 민감한 정보나 환경에 따라 달..
2024.09.23 -
- [React.js] React Query DevtoolsReact Query Devtools들어가며리액트 쿼리(React Query/Tanstack Query)의 개발자 도구(Devtools)를 설치 및 적용하는 방법을 정리해본다. React Query Devtools개념상태 관리와 서버 데이터 동기화를 디버깅하기 위한 개발 도구React Query가 관리하는 쿼리(Query)와 뮤테이션(Mutation) 상태를 시각적으로 확인할 수 있는 인터페이스를 제공한다.개발자가 쉽게 데이터 흐름을 추적하고, 문제를 파악하거나 성능을 최적화하는 데 도움을 준다. 주요 기능쿼리 상태 확인현재 실행 중인 모든 쿼리의 상태(예: @loading@, @success@, @error@ 등)를 실시간으로 확인할 수 있다.또한 쿼리 결과 데이터, 쿼리 키, 마지막으로 업데이트된 시..
2024.09.22 -
- [React.js] 코드 분할(Code Splitting) : useTransition 훅, Suspense 컴포넌트, lazy 함수코드 분할(Code Splitting) : useTransition 훅, Suspense 컴포넌트, lazy 함수들어가며리액트(React.js)에서 코드 분할(Code Splitting)의 장점과 함께 사용되는 @useTransition@ 훅과 @Suspense@ 컴포넌트, @lazy@ 함수에 대해 정리해본다. 코드 분할(Code Splitting)개념리액트 애플리케이션에서 코드의 일부분을 나눠서 필요한 시점에 로드하는 방식 장점애플리케이션을 더 작은 청크(Chunk)로 나눔으로써 초기 로드 시 필요한 자바스크립트 크기를 줄인다.이를 통해 첫 화면 렌더링 속도가 빨라지며, 느린 네트워크 환경에서도 빠르게 응답할 수 있다.사용자가 필요로 하지 않는 코드는 나중에 로드되며, 상호작용할 때만 필요한 코드가 동..
2024.09.20 -
- [React.js] useMemo 훅useMemo 훅들어가며리액트(React.js)의 @useMemo@ 훅에 대해 정리해본다. useMemo 훅개념컴포넌트의 성능 최적화(Optimization)를 위해 자주 사용되는 훅특정 연산의 결과를 메모이제이션(Memoization)하여 의존성 배열에 있는 값들이 변경되지 않는 한 해당 연산을 다시 수행하지 않도록 한다.불필요한 재연산을 방지하고 성능을 향상시킬 수 있다. 사용 방법첫 번째 인자는 메모이제이션할 값을 반환(return)하는 함수이다. (@computeExpensiveValue@).두 번째 인자는 의존성 배열(Dependency Array)로, 이 배열의 값들이 변경될 때만 메모이제이션된 값이 다시 계산된다.const memoizedValue = useMemo(() => computeE..
2024.09.20 -
- [React.js] useCallback 훅useCallback 훅들어가며리액트(React.js)에서 사용되는 @useCallback@ 훅에 대해 정리해본다. useCallback 훅개념컴포넌트의 성능 최적화(Optimization)를 위해 자주 사용되는 훅함수를 메모이제이션(Memoization)하여 컴포넌트가 리렌더링될 때마다 함수가 재생성되는 것을 방지한다. 사용 방법@useCallback(() => {}, [])@와 같이 사용한다.첫 번째 인자로 함수를 받고, 두 번째 인자로 의존성 배열(Dependencies Array)을 받는다.const memoizedCallback = useCallback(() => { doSomething(a, b);}, [a, b]); ⇒ 리액트는 컴포넌트가 리렌더링될 때마다 해당 함수를 다시 생성하지 않고,..
2024.09.20 -
- [React.js] React.memo()React.memo()들어가며리액트(React.js)에서 제공하는 고차 함수(Higher-Order Component)인 @React.memo()@에 대해 정리해본다. React.memo()개념리액트에서 제공하는 고차 함수(Higher-Order Component)함수형 컴포넌트의 불필요한 재렌더링을 방지하는 역할을 한다.전달된 @props@가 변경되지 않는 한 해당 컴포넌트는 다시 렌더링되지 않도록 최적화(Optimization)할 수 있다.@React.memo()@는 함수형 컴포넌트를 인자로 받아, 그와 동일한 동작을 하는 새로운 컴포넌트를 반환하지만, 추가적으로 @props@가 변경되었는지 확인하는 최적화 작업이 추가된다.@props@가 변경되지 않은 경우, 메모이제이션된 컴포넌트는 이전 렌더링에서..
2024.09.18 -
- [React.js] Context API를 이용하여 전역 상태 관리하기Context API를 이용하여 전역 상태 관리하기들어가며리액트(React.js)에서 Context API를 이용하여 전역 상태 관리하는 방법을 정리해본다.Context API를 이용하면 따로 패키지를 설치하지 않고도 전역 상태를 관리할 수 있다. Context API개념컴포넌트 트리에서 전역 상태를 보다 쉽게 공유할 수 있는 기능을 제공하는 API이 방법을 이용하면, 프롭 드릴링(Props Drilling)을 피할 수 있다. 방법① context 파일 생성하기전역으로 사용할 상태를 정의하는 @Context.js@ 파일을 생성한다. ./src/context.jsimport { createContext, useContext, useState } from 'react';// (1) Context 생성하기co..
2 2024.09.11 -
- [React.js] react-toastify 라이브러리react-toastify 라이브러리들어가며간단하게 토스트(Toast) 메시지를 띄워야할 때 @react-toastify@ 라이브러리를 사용할 수 있다.@react-toastify@ 라이브러리의 사용법을 간단하게 정리해본다. react-toastify 라이브러리개념리액트 애플리케이션에서 사용자에게 알림을 제공하는 토스트 메시지(Notification)를 쉽게 구현할 수 있게 해주는 라이브러리이 라이브러리를 사용하여 다양한 스타일과 애니메이션 효과로 간단하게 알림을 띄울 수 있다.기본적으로 설정이 간편하며, 다양한 사용자 정의 옵션을 제공하여 알림을 원하는 대로 커스터마이징할 수 있다. 라이브러리 설치$ npm install react-toastify # yarn add react-toastify 사..
2024.09.10 -
- [React.js] uuid, nanoid 라이브러리 사용하기 (key)uuid, nanoid 라이브러리 사용하기 (key)들어가며다음과 같이 @map@을 이용하여 요소를 하나하나씩 표현할 경우 @key@ 값을 지정해야 하는데 어떤값을 @key@ 값으로 지정해야할 지 모를 경우가 많다.이때, @uuid@ 또는 @nanoid@ 라이브러리를 이용하면 이 고민을 해결할 수 있다.import { data } from './data.js';export default const App = () => { return ( {data.map((item) => {item.content}} )} uuid 라이브러리개념@uuid@는 Universally Unique Identifier 의 약자로, 전 세계에서 고유한 값을 생성할 수 있는 식별자이다.@u..
2024.09.09 -
- [React.js] 로컬 스토리지(LocalStorage)에 내용을 저장하고, 전역 상태 관리 라이브러리(Redux)와 동기화 하는 방법로컬 스토리지(LocalStorage)에 내용을 저장하고, 전역 상태 관리 라이브러리(Redux)와 동기화 하는 방법들어가며리액트(React.js)에서 특정 변수를 로컬 스토리지(Local Storage)에 저장하고, 전역 상태 관리 라이브러리(Redux)와 동기화 시키는 방법을 정리해본다.이렇게 함으로써, 사용자의 입력을 받아 특정 변수를 화면에 표시해줘야 할 경우 새로고침을 해도 동일한 내용이 표시되게 할 수 있다. 로컬 스토리지(Local Storage)개념브라우저에 데이터를 영구적으로 저장할 수 있는 방법브라우저가 닫혀도 데이터가 유지되며, 도메인별로 구분되어 저장된다.로컬 스토리지는 키-값(Key-Value) 형식으로 데이터를 저장하며, 데이터는 문자열 형식으로만 저장할 수 있다.따라서 객체(O..
1 2024.09.07 -
- [Python] try-except 문 사용할 때 에러 발생 시, 전체 에러 정보 표시 방법try-except 문 사용할 때 에러 발생 시, 전체 에러 정보 표시 방법들어가며@try-except@ 문을 사용할 때, 에러를 표시하고 싶을 때가 있다.다음과 같이 에러를 표시할 경우, 에러 정보 중 1줄 정도만 짧게 출력된다.이때 1줄이 아닌, 여러 줄의 모든 에러 정보가 표시되도록 하는 방법을 정리해본다.try: print(1 / 0)except Exception as e: print(e)division by zero 방법@traceback@ 모듈 사용하기@traceback@ 모듈을 @import@하여 @try-except@ 문의 예외 처리 부분에 다음과 같이 넣어주면 된다.import tracebacktry: print(1 / 0)except Exception as e: ..
2 2024.09.07 -
- [JavaScript] fetch() API와 Axios의 에러 처리 방법 비교fetch() API와 Axios의 에러 처리 방법 비교들어가며FetchAPI와 Axios의 에러 처리 방법의 차이에 대해 간단하게 정리해본다. 오류 처리 방법 비교fetch() API기본적으로 네트워크 요청이 성공적으로 완료되었는지를 상태 코드(Status Code)가 아닌, 네트워크 오류 여부로 판단한다.즉, 네트워크 연결이 제대로 되어 서버에 요청이 전달되고, 서버로부터 응답이 왔다면, 그 응답이 200번대(성공) 상태 코드인지, 400번대(클라이언트 오류) 또는 500번대(서버 오류) 상태 코드인지와 상관없이 요청이 '성공적으로' 완료된 것으로 간주한다.이 경우 @fetch()@는 프로미스(Promise)를 성공 상태로 반환하며, 응답 객체를 @resolve@한다.이 때문에 4xx 또는 5xx와 ..
2024.08.30 -
- [JavaScript] 전개 연산자 (Spread Operator, ...)전개 연산자 (Spread Operator, ...)들어가며자바스크립트(JavaScript)에서 사용할 수 있는 전개 연산자(Spread Operator, @...@)에 대해 정리해본다. 전개 연산자(Spread Operator, @...@)개념배열(Array)이나 객체(Object)를 쉽게 확장하거나 복사할 수 있는 기능배열, 객체, 함수 호출에서 다양하게 사용할 수 있다.배열의 병합 & 복사객체의 병합 & 복사함수 호출 시 인수 확장전개 연산자를 사용할 때, 얕은 복사(Shallow Copy)가 이루어진다.ES6(ECMAScript 2015)부터 사용할 수 있다. 얕은 복사는 객체나 배열의 최상위 수준만 복사한다. (중첩된 객체나 배열은 원본 데이터에 대한 '참조'를 유지한다.) 따라서 전개 연산자를..
2024.08.27 -
- [React.js] 컴포넌트를 생성하는 방법 2가지 (JSX, React.createElement)컴포넌트를 생성하는 방법 2가지 (JSX, React.createElement)들어가며리액트(React.js)에서 컴포넌트를 생성하는 방법 2가지를 정리해본다. 컴포넌트 생성 방법① 함수형 컴포넌트function Greeting() { return ( hello world );} 함수형 컴포넌트는 자바스크립트 함수로 정의되며, JSX(JavaScript XML) 문법을 사용하여 UI를 반환한다.@@와 @@ 태그를 사용하여 UI를 정의한다.JSX는 Babel 같은 컴파일러를 통해 @React.createElement@ 호출로 변환된다.코드가 더 직관적이고 읽기 쉬우며, 컴포넌트를 작성할 때 HTML과 유사한 문법을 사용할 수 있다. ② @React.createElement@imp..
2024.08.26 -
- [React.js] 리액트 스니펫(Snippet) 정리리액트 스니펫(Snippet) 정리들어가며비주얼 스튜디오 코드(VS Code)의 리액트(React.js) 스니펫 확장(ES7+ React/Redux/React-Native snippets)을 설치한 후 사용할 수 있는 스니펫들을 정리해본다. 스니펫(Snippet)프로그래밍에서 자주 사용되는 코드 조각이나 템플릿일반적으로 반복적으로 작성해야 하는 코드를 빠르고 효율적으로 생성할 수 있도록 도와주는 기능 VS Code 확장 설치리액트 스니펫을 VS Code에서 사용하려면, 아래의 확장 프로그램을 설치해줘야 한다.ES7+ React/Redux/React-Native snippets ES7+ React/Redux/React-Native snippets - Visual Studio MarketplaceExten..
2024.08.26