728x90
반응형

전체 글 125

LoRA 보다 풀 파인튜닝 할 때 CER 성능이 더 좋아진 이유

LoRA(Low-Rank Adaptation)와 풀 파인튜닝(full fine-tuning)의 CER (Character Error Rate) 성능 차이는 여러 가지 이유로 발생할 수 있습니다. 주된 이유는 모델의 적합성, 학습된 파라미터의 수, 훈련 데이터의 크기 및 모델이 학습할 수 있는 정보의 양에 따라 달라집니다. 아래에 그 이유들을 자세히 설명하겠습니다:1. 모델의 적합성 (Model Fit)풀 파인튜닝: 모델 전체를 훈련시킴으로써 모든 파라미터가 데이터에 적합하도록 최적화됩니다. 이로 인해 모델이 데이터의 특징을 더 잘 반영할 수 있으며, 특히 훈련 데이터와 테스트 데이터에서 성능 향상이 나타날 수 있습니다.LoRA: LoRA는 모델의 특정 레이어만 수정하여 효율적으로 학습을 진행하는 방법입니..

AI Development 2025.01.12

RunPod

Runpod에 대한 개요Runpod는 고성능 컴퓨팅 리소스를 임대하거나 제공하는 플랫폼임. 주로 GPU를 활용한 작업(딥러닝, AI 모델 훈련, 데이터 처리 등)을 수행하기 위해 설계되었음. 사용자들은 Runpod를 통해 클라우드 기반의 GPU 인프라를 효율적으로 사용하면서도 저렴한 비용으로 고성능을 이용할 수 있음.주요 특징유연한 GPU 사용:GPU가 필요한 작업량만큼 리소스를 동적으로 할당 가능.필요할 때만 사용하고 사용한 만큼만 비용을 지불하는 Pay-as-you-go 모델 제공.사용자 친화적 인터페이스:복잡한 설정 없이 간단한 인터페이스로 GPU 인스턴스를 생성하고 관리할 수 있음.CLI(Command Line Interface)와 API도 지원해서 개발 워크플로에 쉽게 통합 가능.다양한 GPU ..

AI Development 2025.01.03

pinia 아키텍처와 구성요소

Pinia는 Vue 3의 상태 관리를 위한 현대적인 아키텍처로 구성됨. 주요 아키텍처 구성 요소는 다음과 같음:스토어(Store): Pinia에서 상태(State)를 정의하고 관리하는 기본 단위. 여러 스토어를 분리하여 기능별 상태를 모듈화할 수 있음.상태(State): 애플리케이션의 전역 데이터로, 여러 컴포넌트에서 공유 및 업데이트가 가능.게터(Getters): 상태를 조회하는 속성으로, Vue의 계산 속성(Computed Property)처럼 동작. 상태를 변형하여 컴포넌트에서 쉽게 사용할 수 있도록 함.액션(Actions): 상태를 수정하는 함수로, 비동기 작업 및 상태 변경을 관리함. Pinia에서 액션은 상태를 직접 변경할 수 있음. 스토어 정의Pinia에서 스토어는 defineStore 함수..

pinia

Pinia는 Vue 3에서 사용할 수 있는 최신 상태 관리 라이브러리로, Vuex의 후속작이자 대체품으로 만들어짐. Vuex와 동일하게 Vue 애플리케이션 전반에 걸쳐 상태를 공유하고 관리하기 위한 기능을 제공하지만, 코드가 더 간결하고 사용하기 쉽게 설계된 것이 큰 특징이다.Pinia의 주요 특징간단하고 직관적인 APIVuex보다 코드가 간결하고 직관적이라 개발자가 쉽게 상태를 정의하고 관리할 수 있음.defineStore 함수로 간편하게 Store를 정의하고 사용할 수 있음.TypeScript 지원 강화Pinia는 TypeScript와의 호환성이 높아 타입 안정성을 더욱 쉽게 유지할 수 있음.Composition API와의 호환성Vue 3의 Composition API와 자연스럽게 통합됨. 필요한 S..

3단계 지연 시간에 대한 스피너 UI 구현

프론트엔드 애플리케이션에서 API 호출 시 지연이 발생하면 사용자 경험이 저하될 수 있기 때문에 로딩 중임을 알려주는 스피너(Spinner) UI를 추가하여 사용자에게 명확한 피드백을 제공함.3초 이상의 지연이 있을 경우 스피너 UI를 구현해 다음과 같이 작업을 수행:스피너 컴포넌트 생성Spinner.vue 컴포넌트로 스피너 UI를 만듦. 간단한 CSS 애니메이션으로 스피너를 구성. 2. App 컴포넌트에서 스피너 표시 상태 관리App.vue에 로딩 상태 변수를 추가하여 데이터 요청 중에 스피너를 표시.데이터 로딩이 완료되면 스피너를 숨기고 데이터를 화면에 표시하도록 설정. Todo List {{ todo.text }} 3초 지연 시간 처리만..

2단계 axios 적용

App 컴포넌트 변경 App.vue 컴포넌트를 변경하여 백엔드 API와의 통신을 수행하도록 업데이트함. 이때, axios와 같은 라이브러리를 통해 API와 통신하며, 상태 관리 라이브러리를 사용하여 API 응답을 관리함.Axios 설정: 백엔드 API와 통신하기 위해 Axios를 설정.예시: src/services/api.js 파일에 API 요청 설정을 분리.// src/services/api.jsimport axios from 'axios';const apiClient = axios.create({ baseURL: '/api', // 프록시 설정된 기본 경로 headers: { 'Content-Type': 'application/json' }});export default apiClient;..

애플리케이션 아키텍처와 프로젝트 생성

12.1.1 작성할 화면들애플리케이션에서 작성할 주요 화면을 미리 정의하면 기능 개발에 필요한 컴포넌트를 예측할 수 있음. 예를 들어:메인 화면: 사용자에게 첫 화면을 제공하는 메인 페이지.로그인 화면: 사용자 인증을 위한 로그인 및 회원 가입 페이지.대시보드 화면: 데이터 시각화 및 주요 기능 접근을 위한 대시보드.프로필 관리 화면: 사용자 정보와 설정을 관리하는 화면.이 외에도 검색 화면, 상세 화면 등 주요 기능에 맞는 페이지를 정의해놓고 각 페이지에 필요한 기능과 UI 요소를 준비함. 12.1.2 컴포넌트 계층 구조컴포넌트 계층 구조를 정리하여 컴포넌트를 재사용하기 쉬운 구조로 설계함.App.vue: 최상위 컴포넌트로, 각 페이지를 라우터로 연결하고 전역 상태나 스타일을 관리.페이지 컴포넌트: 각..

CORS (Cross-Origin Resource Sharing)

웹 개발하면서 CORS 오류를 자주 마주하게 됨. 특히 다른 서버의 API를 호출할 때 CORS(Cross-Origin Resource Sharing) 오류가 많이 발생하는데, 초보자든 숙련자든 한 번쯤 겪게 되는 문제임. CORS의 개념, 문제 발생 이유, 그리고 해결 방법에 대해 알아봄. 원쌤의  vue.js 퀵 스타트  1. CORS란?CORS는 크로스 오리진 리소스 공유를 의미함. 브라우저는 기본적으로 보안을 위해 같은 출처(Same-Origin) 정책을 따름. 이 정책은 한 웹 애플리케이션이 다른 도메인에서 리소스를 가져오는 것을 제한함.예를 들어 https://example.com에서 로드된 웹 페이지가 https://api.otherdomain.com/data에 요청을 보내려 할 때, 브라우..

카테고리 없음 2024.10.25

테스트용 백엔드 API 소개

MockAPIMockAPI는 쉽게 테스트 API를 생성할 수 있는 서비스임. 데이터베이스 스키마를 정의하고, 간단한 REST API를 자동으로 생성해줌. 또한 프론트엔드 개발자들이 필요에 맞춰 데이터를 수정하고 추가할 수 있음.RESTful API 생성: 데이터 모델링을 통해 각종 엔드포인트를 자동 생성데이터 관리: 웹 대시보드를 통해 데이터를 추가하거나 삭제 가능사용 예시:https://mockapi.io/projects/{project-id}/usersPOST /users: 사용자 추가GET /users: 사용자 목록 조회

Axios

Axios는 브라우저와 Node.js에서 모두 동작하는 Promise 기반의 HTTP 클라이언트 라이브러리이다. 주로 웹 애플리케이션에서 서버와 데이터를 주고받기 위해 사용되며, Vue.js, React 등과 같은 프론트엔드 프레임워크와 함께 많이 사용됨. Ajax 요청을 더욱 간편하게 처리할 수 있도록 도와주며, 다양한 HTTP 메서드(GET, POST, PUT, DELETE 등)를 지원함.주요 기능Promise 기반으로 비동기 작업 처리브라우저와 Node.js에서 사용 가능요청 및 응답 인터셉터 지원자동 JSON 데이터 변환 (요청 본문 또는 응답 본문)CORS 지원HTTP 요청 취소 기능타임아웃 설정 가능기본 사용법import axios from 'axios';// GET 요청axios.get('h..

제네릭 타입과 any 타입의 차이점

제네릭 타입과 any 타입의 가장 큰 차이점은 타입 안전성과 유연성임. 제네릭은 타입을 명확하게 지정하면서도 다양한 타입을 지원할 수 있는 방식임.제네릭 타입을 사용하면, 그 타입에 따라 함수나 클래스가 구체적으로 동작하게 됨.즉, 타입을 유지하면서도 코드의 재사용성을 극대화할 수 있음.제네릭의 특징:타입 안전성 보장: 컴파일 시 타입이 명확하게 지정되므로, 올바른 타입만 처리하도록 코드가 제한됨.유연성: 다양한 타입을 하나의 함수나 클래스에서 처리할 수 있음.타입 추론 가능: 함수나 클래스를 호출할 때, 제네릭이 자동으로 타입을 추론하기 때문에 코드가 더 간결해질 수 있음.2. any 타입:any는 모든 타입을 허용하는 타입임. 즉, 어떤 값이든 다 받을 수 있지만, 타입 안전성을 잃게 됨. any를 ..

[콜럼Vue스] 지연로딩

Vue에서는 동적 import() 함수를 사용하여 컴포넌트를 지연 로딩할 수 있다.이렇게 하면 컴포넌트가 실제로 필요할 때 로딩이 이루어지기 때문에 애플리케이션의 초기 로딩 속도가 빨라진다. 요약지연 로딩은 컴포넌트나 리소스를 필요한 시점에 로딩하여 애플리케이션의 성능을 최적화하는 기법임.**동적 import()**를 통해 컴포넌트 지연 로딩을 쉽게 적용할 수 있음.Suspense 컴포넌트는 비동기 컴포넌트의 로딩 상태를 관리할 때 유용하며, fallback 슬롯을 통해 로딩 화면을 제공할 수 있음. 1. 동적 import()를 사용한 지연 로딩// router/index.jsimport { createRouter, createWebHistory } from 'vue-router';const routes..

[콜럼Vue스] 라우트 정보를 속성으로 연결하기

Vue Router에서 라우트 정보를 속성으로 연결하는 방법은 컴포넌트나 를 통해서 컴포넌트 간에 라우트 관련 정보를 주고받는 방식으로 이루어짐. 특히 동적 라우팅이나 라우트 매칭 정보를 컴포넌트에서 사용하고자 할 때, 이러한 방법을 자주 사용함.요약props 옵션을 사용하여 라우트 파라미터나 쿼리를 컴포넌트에 전달할 수 있음.****를 통해 라우트 경로에 동적 값을 전달하여 링크를 생성 가능.$route 객체로 라우트 정보를 직접 접근할 수도 있지만, props로 전달하는 것이 더 구조적으로 깔끔하고 권장됨.1. 라우트 정보를 속성으로 연결하기Vue Router를 사용할 때 라우트 정보를 컴포넌트에 전달하고, 해당 정보를 props를 통해 연결하여 컴포넌트 내부에서 처리할 수 있음.1.1. props..

프론트엔드 디자인패턴

프론트엔드 프로젝트에서 디렉토리 구조는 코드의 가독성, 유지보수성, 확장성에 중요한 역할을 함. 1. 레이어드 아키텍처 (Layered Architecture)레이어드 아키텍처는 기능별로 나누기보다는 계층에 따라 파일을 분리하는 구조임. 주로 프레젠테이션 계층, 비즈니스 로직 계층, 데이터 계층으로 나뉨.src/├── components/ # UI 컴포넌트 (프레젠테이션 계층)│ ├── Button.vue│ ├── Header.vue│ └── Footer.vue├── services/ # 비즈니스 로직 처리 (비즈니스 계층)│ ├── AuthService.js│ ├── ApiService.js│ └── UserService.js├── store/ ..

Web Development 2024.10.22

FLUX 아키텍쳐

Flux 아키텍처는 단방향 데이터 흐름을 기반으로 애플리케이션 상태 관리를 체계적으로 하는 디자인 패턴임. 특히 리액트(React)와 함께 사용되는 상태 관리 패턴으로 유명하며, 복잡한 애플리케이션에서 데이터 흐름을 쉽게 추적하고, 상태 관리를 더욱 예측 가능하게 만드는 데 중점을 둠. Flux의 핵심 개념Flux 아키텍처는 크게 4개의 주요 컴포넌트로 구성됨:Action (액션)Dispatcher (디스패처)Store (스토어)View (뷰)Flux 데이터 흐름1. Action (액션)액션은 애플리케이션에서 일어나는 **사건(이벤트)**을 의미함.사용자 입력, API 호출 등으로 발생하며, 액션 객체는 일반적으로 다음과 같은 형식을 가짐:{ type : 'ADD_TODO'. payload : { ..

[콜럼Vue스] 명명 라우트

명명 라우트 (Named Routes)명명 라우트는 Vue Router에서 라우트를 정의할 때 이름을 부여하는 방식으로, 라우트를 보다 쉽게 참조하거나 네비게이션할 수 있게 해줌. 라우트 이름을 사용하면 URL을 직접 입력하거나 하드코딩하는 대신, 라우트의 이름을 통해 경로를 참조할 수 있음. 명명 라우트 정의라우트를 정의할 때 name 속성을 추가하여 라우트에 이름을 부여할 수 있음.const routes = [ { path: '/user/:id', component: UserComponent, name: 'user' // 라우트 이름 정의 }]명명 라우트로 네비게이션라우트 이름을 이용해 네비게이션하려면 router.push 또는 에서 이름을 참조할 수 있음.// router.p..

[콜럼Vue스] 중첩라우트

중첩 라우트는 Vue Router에서 다중 뷰 또는 중첩된 컴포넌트 구조를 지원하는 기능을 말함.즉, 부모 라우트의 컴포넌트 안에 자식 라우트를 정의하여, 하나의 페이지에서 여러 개의 컴포넌트를 계층적으로 관리할 수 있게 해줌.중첩 라우트 설정 방법중첩 라우트를 구현하기 위해서는 부모 라우트의 component에 라우트 아울렛(router-view)을 설정하고, 자식 라우트들을 children 속성에 정의해야 함. 기본 구조const routes = [ { path: '/parent', component: ParentComponent, children: [ { path: 'child', component: ChildComponent } ]..

[콜럼Vue스] 동적라우트

동적 라우트는 URL 경로에 변수를 포함하여 여러 가지 유사한 경로를 처리할 수 있는 기능을 말함. Vue Router에서 동적 라우트는 특정 URL 패턴에 매칭되는 경로를 정의하고, 해당 경로에서 동적으로 변하는 부분을 파라미터로 받을 수 있음.동적 라우트 설정 방법동적 라우트는 경로에 콜론(:)을 붙여 정의함.예를 들어, :id라는 동적 파라미터를 사용하면 /user/1, /user/2와 같은 경로가 모두 동일한 라우트에 매칭될 수 있음.const routes = [ { path: '/user/:id', component: UserComponent }]위 코드에서 path에 있는 :id 부분이 동적 파라미터로, /user/1, /user/2 등의 URL에 매칭됨. 여기서 :id는 동적으..

[콜럼Vue스] Vue-router

vue-router는 Vue.js 에서 공식적으로 제공하는 클라이언트 측 라우팅 라이브러리임.이를 사용하면 Vue.js 애플리케이션 내에서 여러 페이지 또는 컴포넌트 간에 라우팅을 쉽게 처리할 수 있음 기본사용법라우터설정 -> 라우터 사용 -> 라우트 링크와 라우트 표시라우터설정import { createRouter, createWebHistory } from 'vue-router'import Home from '../views/Home.vue'import About from '../views/About.vue'const routes = [ { path: '/', component: Home }, { path: '/about', component: About }]const router = create..

[콜럼Vue스] <script setup>

2. TodoList.vue 3. TodoListItem.vue {{ todoItem.todo }} 삭제 4. InputTodo.vue 추가 주요 변경 사항:defineProps와 defineEmits:props와 emit을 각각 선언하고 관리할 수 있다.기존의 props 및 emits 옵션과는 다르게, 각각 defineProps() 및 defineEmits()를 사용하여 컴팩트하게 선언할 수 있다.ref와 반응형 데이터:반응형 데이터는 모두 ref()로 선언되어 관리된다.todoList, newTodo 등은 상태를 관리하는 반응형 데이터로 사용된다.자동 컴포넌트 등록:에서는 컴포넌트를 import한 후 따로 등록하지 않아도 바로..

[콜럼Vue스] 생명주기 훅(Life Cycle Hook)

참고자료 : 원쌤의 퀵 Vue.js1. Option API의 생명주기 훅export default { data() { return { message: 'Hello Vue!' } }, // 컴포넌트가 생성되기 직전에 호출됨 beforeCreate() { console.log('beforeCreate') }, // 컴포넌트가 생성된 후 호출됨 created() { console.log('created') }, // DOM에 컴포넌트가 마운트되기 직전에 호출됨 beforeMount() { console.log('beforeMount') }, // DOM에 컴포넌트가 마운트된 후 호출됨 mounted() { console.log('mounted')..

[콜럼Vue스] Watch, WatchEffect

watchwatch는 특정 데이터의 변화를 감지할 때 사용된다. 이 데이터는 ref나 reactive 객체일 수 있으며,\사용자가 지정한 감시 대상에 대한 변화를 추적한다.watch의 특징특정 데이터를 감시함.데이터의 이전 값과 변경된 값을 모두 사용할 수 있음.즉시 실행되지 않고, 데이터 변경 시에만 실행됨.watchEffectwatchEffect는 반응형 데이터에 대한 의존성을 자동으로 추적하고, 그 의존성이 변경되면 코드를 실행한다.watchEffect는 감시할 대상을 명시적으로 지정하지 않아도, 내부에서 사용된 모든 반응형 데이터를 자동으로 추적한다.watchEffect의 특징의존성 추적을 자동으로 수행함.사용된 모든 반응형 데이터가 변경되면 코드를 재실행함.즉시 실행되며, 초기 실행 시에도 코드..

[콜럼Vue스] Computed

computed 속성은 Vue에서 제공하는 강력한 기능으로,데이터나 다른 속성에 의존하는 값을 효율적으로 계산해 반환하는 반응형 속성기본적으로는 캐싱(caching)을 지원하여,의존하는 데이터가 변경되지 않으면 다시 계산하지 않고 이전에 계산된 값을 반환한다.따라서 비용이 많이 드는 연산이나 복잡한 연산을 최적화하는 데 매우 유용하다.computed 속성 기본 사용법 이름: {{ fullName }} firstName과 lastName이라는 반응형 데이터를 선언.computed 속성인 fullName은 firstName과 lastName에 의존해 그 값을 계산한다.fullName은 firstName이나 lastName이 변경될 때만 다시 계산되며, 그렇지 않으면 캐싱된 값을 반환한다.computed 속..

[콜럼Vue스] 비동기 컴포넌트 (Async Component)

Vue에서 비동기 컴포넌트(Async Component)는 컴포넌트를 동적으로 로드하여, 필요한 시점에만 렌더링하는 기법임.이 방법은 대규모 애플리케이션에서 초기 로딩 시간을 줄이고, 라우팅 또는 사용자 상호작용에 따라 필요할 때만 컴포넌트를 불러올 수 있게 해줌.비동기 컴포넌트를 사용하는 이유초기 로딩 시간 최적화앱의 모든 컴포넌트를 한 번에 로드하는 대신, 사용자가 접근하는 순간에 로드함으로써 초기 로딩 시간을 줄일 수 있음.코드 스플리팅Webpack과 같은 번들러가 **비동기 컴포넌트를 분리된 청크(chunk)**로 만들어서, 필요한 파일만 네트워크로 로드하게 만듦.사용자 경험 개선대기 시간이 길어지는 부분에서는 로딩 스피너나 에러 핸들링을 통해 사용자 경험을 개선할 수 있음.defineAsyncC..

[콜럼Vue스] 텔레포트 (Teleport)

Vue에서 Teleport는 컴포넌트의 DOM 구조를 현재 컴포넌트 트리 외부의 특정 위치로 이동시키는 기능임.이를 통해 렌더링된 요소를 HTML의 다른 부분에 배치하면서도, Vue의 반응형 데이터 및 이벤트가 유지되도록 도움.보통 모달, 툴팁, 드롭다운 같은 UI 컴포넌트를 구현할 때 유용. Teleport의 사용법기본 사용 예시 메인 컴포넌트 이 모달은 body에 렌더링됨 위 코드에서는 teleport 태그를 통해 .modal 컴포넌트가 HTML의 태그로 이동하여 렌더링됨.to 속성: 텔레포트가 렌더링될 목적지를 지정하는 필수 속성. 예를 들어, 모달과 같은 요소를 페이지 어디서든 쉽게 제어하려면 body에 텔레포트하는 것이 일반적임.Tel..

reactive와 ref 차이

Vue3에서는 reactive와 ref 를 사용해 반응형 상태 (Reactive State)를 관리함이 두 기능은 비슷하지만 사용 목적과 방식에 차이가 있음 아래에서 각 기능의 차이와 언제 사용하는 것이 좋은지 알아보겠음 1. ref란?단일 값 또는 원시 데이터 타입 (string, number, boolean 등)을 반응형으로 관리할 때 사용객체, 배열도 ref로 감쌀 수 있지만, 이 경우 내부 속성에 직접 접근하려면 .value가 필요import { ref } from 'vue'const count = ref(0) // 숫자 값을 반응형으로 관리count.value++ // ref는 .value로 접근해야 함console.log(count.value) // 1.value로 접근해야만 값에 접근할..

전체선택/해제 함수 구조 분석

const selectAll = async () => { if (tableRef.value) { if (allSelected.value) { tableRef.value.clearSelection() // 선택 해제 } else { tableRef.value.toggleAllSelection() // 전체 선택 } }} tableRef.value 확인if (tableRef.value) {이 조건문은 tableRef가 유효한 엘리먼트 참조를 가지고 있는지 확인합니다.tableRef는 컴포넌트에 대한 참조로, Element Plus의 ref를 사용하여 테이블의 인스턴스에 접근합니다.allSelected.value 확인if (allSelected.value) { tabl..

[콜럼Vue스] 컴포넌트에서의 v-model 디렉터브

v-model 디렉티브 활용법 학습v-model은 부모와 자식 컴포넌트 간의 양방향 데이터 바인딩을 쉽게 구현해주는 디렉티브임.부모 컴포넌트에서 자식 컴포넌트의 데이터를 바인딩하고, 자식 컴포넌트에서 이벤트로 값을 업데이트할 수 있음.기본적인 부모-자식 데이터 바인딩 예제 구현부모 컴포넌트에서 속성을 내려주고, 자식 컴포넌트에서 이벤트로 값을 업데이트하는 방식을 먼저 구현함. 검색어: {{ searchName }} v-model 적용으로 코드 개선기존 코드에서 이벤트와 메서드를 모두 작성해야 했지만, v-model을 사용하면 코드가 더 간결해짐.v-model을 적용하면 부모 컴포넌트가 자식 컴포넌트로 값을 전달하고, 자식 컴포넌트가 자동으로 부모 데이터를 업데이트함. ..

[콜럼Vue스] provide, inject를 이용한 공용데이터 사용

참고자료 : 원쌤의 Vue.js 퀵스타트provide와 inject는 부모-자식 컴포넌트 간의 데이터 전달을 간소화하는 기능이다. 복잡한 컴포넌트 계층 구조에서, 각 계층을 거쳐 속성을 전달할 필요 없이 상위 컴포넌트에서 제공한 데이터를 하위 컴포넌트에서 바로 사용할 수 있게 한다.  컴포넌트의 계층 구조가 복잡해지면 계층 구조를 따라 연속적으로 속성을 전달해야 하는 문제가 있음해결방법 => provide, inject를 이용 provide/inject의 원리와 사용법provide: 상위 컴포넌트에서 하위 트리에 공유할 데이터를 제공함.inject: 하위 컴포넌트에서 상위에서 제공한 데이터를 주입받아 사용함.이 패턴은 컴포넌트 간 깊은 계층 구조에서도 데이터를 쉽게 전달할 수 있도록 돕는다.

부모/자식 컴포넌트 확인하는 방법

Vue에서는 부모와 자식 관계가 컴포넌트 간의 import와 사용 방식으로 결정된다. 이 관계를 이해하려면 파일 구조와 코드에서 서로 어떤 컴포넌트가 포함하고 있는지를 확인해야 한다.  부모-자식 관계를 파악하는 방법부모 컴포넌트에서 자식 컴포넌트를 사용한 경우 찾기보통 부모 컴포넌트에서 자식 컴포넌트를 import한 다음 template에서 사용한다.만약 props와 emit이 사용된 코드라면:부모가 자식 컴포넌트에 데이터를 전달할 때 props 사용.자식이 부모에게 이벤트를 알릴 때 emit 사용.구체적인 파일 탐색 방법1. props를 사용하는 자식 컴포넌트 예시예를 들어, 자식 컴포넌트가 아래와 같이 작성된 경우 조회하기props와 emit을 사용한 이 파일(ChildComponent.vue)은..

728x90
반응형