본문 바로가기
반응형

자바스크립트102

[JavaScript 문법] 47일차: Vuex 상태 관리 Vuex란?Vuex는 Vue.js 애플리케이션의 상태 관리를 위한 중앙 집중식 저장소를 제공하는 상태 관리 패턴 라이브러리입니다. Vuex는 상태(state), 뮤테이션(mutations), 액션(actions), 게터(getters)와 같은 개념을 통해 상태를 관리합니다.Vuex 설치Vuex를 사용하기 위해 Vuex 패키지를 설치합니다.npm install vuex --save상태 관리의 주요 개념상태(state): 애플리케이션의 상태를 나타내는 객체입니다.뮤테이션(mutations): 상태를 변경하기 위한 동기 메서드입니다.액션(actions): 상태를 변경하기 위한 비동기 작업을 포함한 메서드입니다.게터(getters): 상태를 반환하는 계산된 속성입니다.Vuex 설정Vuex를 설정하여 상태를 관리.. 2024. 9. 17.
[코딩 테스트] 16일차: 트리 알고리즘 트리 알고리즘트리는 노드와 간선으로 이루어진 자료구조로, 사이클이 없는 연결 그래프입니다. 이진 트리, 이진 탐색 트리(BST), AVL 트리, 힙(Heap) 등 다양한 트리 구조가 있으며, 각기 다른 특성과 용도를 가지고 있습니다.이진 트리와 이진 탐색 트리 (BST)이진 트리는 각 노드가 최대 두 개의 자식을 가지는 트리입니다. 이진 탐색 트리(BST)는 이진 트리의 일종으로, 왼쪽 자식은 부모보다 작고, 오른쪽 자식은 부모보다 큰 값을 가지는 트리입니다. 예제: 이진 탐색 트리 구현JavaScriptclass TreeNode { constructor(value) { this.value = value; this.left = null; this.right = null; }}class.. 2024. 9. 16.
[JavaScript 문법] 45일차: Angular 기초 Angular란?Angular는 Google에서 개발한 프레임워크로, 대규모 웹 애플리케이션을 구축하기 위해 설계되었습니다. Angular는 TypeScript를 사용하며, 컴포넌트 기반 아키텍처와 강력한 도구를 제공하여 복잡한 애플리케이션을 효율적으로 개발할 수 있게 합니다.Angular의 주요 개념모듈: 애플리케이션의 다양한 기능을 캡슐화하는 단위입니다.컴포넌트: 애플리케이션의 UI를 구성하는 기본 단위입니다.서비스: 비즈니스 로직을 처리하고, 데이터를 공유하는 데 사용됩니다.의존성 주입(DI): 컴포넌트와 서비스 간의 의존성을 관리하는 기법입니다.Angular 프로젝트 설정Angular CLI(Command Line Interface)를 사용하여 Angular 프로젝트를 쉽게 설정할 수 있습니다.예.. 2024. 9. 15.
[코딩 테스트] 15일차: 그리디 알고리즘 그리디 알고리즘 (Greedy Algorithm)그리디 알고리즘은 매 순간 가장 최적이라고 생각되는 해를 선택하여 문제를 해결하는 방법입니다. 이 방법은 부분적인 최적 해가 전체적인 최적 해가 될 수 있는 문제에 적합합니다.그리디 알고리즘의 주요 개념현재 시점에서 가장 좋은 선택: 각 단계에서 가장 좋은 선택을 하여 문제를 해결부분 최적 해: 각 부분 문제에서의 최적 해가 전체 문제에서도 최적 해가 되는 경우최소 신장 트리 (MST)최소 신장 트리는 그래프의 모든 정점을 포함하면서, 사이클이 없고, 간선의 가중치 합이 최소인 트리입니다. 대표적인 알고리즘으로는 크루스칼 알고리즘(Kruskal's Algorithm)과 프림 알고리즘(Prim's Algorithm)이 있습니다.크루스칼 알고리즘 (Kruska.. 2024. 9. 15.
[JavaScript 문법] 44일차: Vue.js 기초 Vue.js란?Vue.js는 사용자 인터페이스를 구축하기 위한 진보적인 JavaScript 프레임워크입니다. Vue.js는 간결한 API와 컴포넌트 기반 아키텍처를 제공하여 개발자가 효율적으로 애플리케이션을 작성할 수 있도록 도와줍니다. Vue.js의 주요 개념으로는 Vue 인스턴스, 템플릿 문법, 데이터 바인딩 등이 있습니다.Vue 인스턴스Vue 인스턴스는 Vue 애플리케이션의 핵심 객체로, 데이터, 템플릿, 메서드 등을 정의합니다. Vue 인스턴스를 생성하려면 new Vue를 사용합니다.예제: Vue 인스턴스 생성 {{ message }}위 예제에서는 new Vue를 사용하여 Vue 인스턴스를 생성하고, #app 요소에 연결합니다. data 객체의 message 속성은 템플릿에서 바인딩되어 렌더링됩.. 2024. 9. 14.
[코딩 테스트] 14일차: 분할 정복 분할 정복 (Divide and Conquer)분할 정복은 문제를 더 작은 하위 문제로 나누어 해결하고, 그 결과를 합쳐서 원래 문제를 해결하는 알고리즘 기법입니다. 분할 정복의 핵심은 문제를 나누고(Divide), 정복하며(Conquer), 합치는(Combine) 단계로 이루어집니다.분할 정복의 주요 개념분할(Divide): 문제를 더 작은 하위 문제로 나눕니다.정복(Conquer): 하위 문제를 재귀적으로 해결합니다.합치기(Combine): 하위 문제의 결과를 합쳐 원래 문제의 해를 구합니다.합병 정렬 (Merge Sort)합병 정렬은 분할 정복 알고리즘의 대표적인 예제로, 배열을 반으로 나누어 각각을 정렬한 후 병합하여 정렬된 배열을 만듭니다. 시간 복잡도는 O(n log n)입니다. 예제: 합병 .. 2024. 9. 14.
[JavaScript 문법] 43일차: React 기초 React란?React는 Facebook에서 개발한 사용자 인터페이스 구축을 위한 JavaScript 라이브러리입니다. React는 컴포넌트 기반 아키텍처를 사용하여 UI를 구성하고, 상태 관리 및 효율적인 렌더링을 지원합니다. React의 주요 개념으로는 컴포넌트, props, state 등이 있습니다.컴포넌트컴포넌트는 React 애플리케이션의 기본 단위로, 독립적이고 재사용 가능한 UI 요소입니다. 컴포넌트는 함수형 컴포넌트와 클래스형 컴포넌트로 나뉩니다.함수형 컴포넌트함수형 컴포넌트는 JavaScript 함수를 사용하여 컴포넌트를 정의합니다. 함수형 컴포넌트는 props를 인수로 받아 JSX를 반환합니다.예제: 함수형 컴포넌트function Welcome(props) { return Hello, .. 2024. 9. 13.
[코딩 테스트] 13일차: 동적 프로그래밍 동적 프로그래밍 (Dynamic Programming)동적 프로그래밍은 복잡한 문제를 더 작은 부분 문제로 나누어 해결하는 방법입니다. 부분 문제의 해결 결과를 저장하여 동일한 부분 문제를 다시 계산하지 않도록 합니다. 동적 프로그래밍은 주로 최적화 문제에 사용되며, 메모이제이션(Memoization)과 타뷸레이션(Tabulatioon) 두 가지 방법으로 구현할 수 있습니다.동적 프로그래밍의 주요 개념부분 문제(Subproblem): 원래 문제를 구성하는 더 작은 문제최적 부분 구조(Optimal Substructure): 부분 문제의 최적 해를 이용하여 원래 문제의 최적 해를 구할 수 있는 구조중복되는 부분 문제(Overlapping Subproblems): 동일한 부분 문제가 여러 번 반복되는 문제 .. 2024. 9. 13.
[JavaScript 문법] 42일차: 브라우저 API 브라우저 API란?브라우저 API는 웹 브라우저에서 제공하는 다양한 기능에 접근할 수 있는 JavaScript 인터페이스를 의미합니다. 이를 통해 웹 애플리케이션에서 브라우저의 내장 기능을 활용할 수 있습니다. 주요 브라우저 API로는 스토리지 API, 위치 정보 API, 히스토리 API 등이 있습니다.브라우저 스토리지브라우저 스토리지는 웹 애플리케이션에서 클라이언트 측에 데이터를 저장할 수 있는 기능을 제공합니다. 대표적인 스토리지 API로는 localStorage와 sessionStorage가 있습니다.localStoragelocalStorage는 브라우저가 닫혀도 데이터가 유지되는 영구 저장소입니다.예제: localStorage 사용// 데이터 저장localStorage.setItem('userna.. 2024. 9. 12.
[JavaScript 문법] 41일차: 폼 이벤트 처리 폼 이벤트란?폼 이벤트는 사용자가 폼 요소와 상호작용할 때 발생하는 이벤트를 의미합니다. 주요 폼 이벤트로는 submit, input, change, focus, blur 등이 있습니다. 폼 이벤트를 처리하면 사용자가 입력한 데이터를 검증하고, 폼 제출을 제어할 수 있습니다.폼 제출 이벤트submit 이벤트는 사용자가 폼을 제출할 때 발생합니다. 폼 제출 이벤트를 처리하여 기본 제출 동작을 막고, 사용자 입력을 검증하거나 서버로 데이터를 전송할 수 있습니다.예제: 폼 제출 이벤트 처리 Submit위 예제에서는 폼이 제출될 때 기본 제출 동작을 막고, 사용자 입력 값을 알림으로 표시합니다.입력 필드 이벤트input 이벤트는 사용자가 입력 필드의 값을 변경할 때 발생합니다. 이 이벤트를 사용하여 실시간.. 2024. 9. 11.
반응형