create-react-app 프로젝트의 구조 React 개발환경 설치에서 생성한 create-react-app 프로젝트의 기본 구조에 대해 알아보겠습니다. create-react-app으로 프로젝트를 생성하면 기본적으로 node_modules, public, src, .gitignore, package-lock.json, package.json 파일이 생성됩니다. 위부터 차례대로 살펴보겠습니다. node_modules 설치된 외부 라이브러리가 포함되어 있으며 라이브러리 구조를 파악할 수 있습니다. create-react-app을 생성하면 node_modules 폴더에 기본 라이브러리가 추가되어 있습니다. 추가적으로 라이브러리가 필요할 경우 npm install 명령어를 통해 설치할 수 있습니다. npm..
React는 컴포넌트들로 이루어져 있습니다. 컴포넌트를 만드는 방법은 대표적으로 Class를 사용하는 방법과 Function을 사용하는 방법이 있습니다. 각각의 특징에 대해 알아보도록 하겠습니다. Class 컴포넌트 - React에서 제공하는 컴포넌트를 extends하여 사용 state Class에 포함되는 데이터가 저장되는 객체입니다. state가 변경되면 render()가 호출되면서 컴포넌트를 다시 그립니다. render() render()는 클래스 컴포넌트에서 반드시 정의해야 하는 메서드입니다. React에서 정의한 컴포넌트, 여러개의 엘리먼트를 묶어 표시할 수 있는 Fragment등이 render()에 포함됩니다. 브라우저와 직접적인 상호작용을 하지 않습니다. lifecycle methods li..
1) nodejs 다운로드 Download Link https://nodejs.org/ko/ 참고 https://javacpro.tistory.com/62 2) Editor - Visual Studio Code Download Link https://code.visualstudio.com/ 관련 Extension Reactjs code snippets react관련 템플릿을 자동으로 생성해줌 Auto Import 필요한 기능을 자동으로 import해주며 component간 상대경로를 자동으로 파악해주어서 유용함 Prettier 코드를 가독성있게 정리 3) React 설치 및 create-react-app 생성 다운로드 방법(공식문서) https://reactjs-kr.firebaseapp.com/docs..
회복시스템의 개념 회복의 역할 예상치못한 HW 고장 및 SW 오류가 발생 사용자의 작업에 대한 안정적 디스크 반영 여부 보장이 불가능 오류 발생 이전의 일관된 상태로 데이터베이스를 복원시키는 기법이 요구 시스템 내의 고장 원인 검출, DBMS의 안전성 및 신뢰성을 보장 데이터베이스는 데이터 복원 절차 내재화 시스템 실패(system failure)의 유형 트랜잭션 실패 논리적: 잘못된 데이터 입력, 부재, 버퍼 오버플로, 자원 초과이용 시스템적: 운용 시스템의 교착상태 시스템 장애 시스템의 하드웨어 고장, 소프트웨어의 오류 주기억장치와 같은 휘발성 저장장치의 내용 손실 디스크 실패 비휘발성 디스크 저장장치의 손상 및 고장으로 인한 데이터 손실 회복 데이터의 구성 백업(backup) 데이터베이스의 일부 또..
동시성제어 동시성 제어의 개념 트랜잭션 직렬화와 회복화는 스케줄이 데이터 일관성에 영향을 미치는 여부를 파별하고 일관성이 유지되는 상태로 복원시키기 위해 정의한 개념 일관성 훼손을 발생시키는 트랜잭션에 대해 동시성 제어를 통해 일관성 유지에 개입 트랜잭션 간 연산의 순서를 제어 어떠한 데이터 읽기, 갱신 연산에도 무결성을 유지 동시에 실행되는 트랜잭션 수를 증가 동시성 제어 규약 락 기반 규약 직렬 가능성을 보장하기 위해 락(잠금)을 사용하여 데이터 항목에 연산 적용 전 트랜잭션이 락을 획득하고 연산 후 반납하도록 하는 규약 락의 종류 공유 락(shared lock: S) 트랜잭션 T가 LS(Q)명령으로 데이터 항목 Q에 공유 락을 획득하면 T는 Q를 읽을 수는 있지만 쓸 수는 없는 락 배타 락(excl..
트랜잭션의 이해 트랜잭션의 개념 데이터베이스를 조작하기 위한 하나의 논리적 단위를 이루는 일련의 연산의 집합 데이터베이스를 사용하여 처리하는 작업을 하나의 묶음으로 인식하여 묶음 단위로 실행되도록 정의한 개념 트랜잭션의 특징 다수의 연산으로 구성된 트랜잭션이 사용자에게 단일작업처럼 다뤄지도록 ACID 특징을 준수 ACID 특성 원자성(atomicity) - 하나의 트랜잭션에 포함된 모든 연산은 완전히 수행되거나 전혀 수행되지 않음 일관성(consistency) - 특정 트랜잭션이 수행되기 전과 후에 데이터베이스가 일관된 상태를 유지 고립성(isolation) - 특정 트랜잭션이 데이터베이스를 갱신하는 동안 다른 트랜잭션에 의해 방해받지 않음 트랜잭션 읽기와 쓰기 트랜잭션의 두 연산 Read(X): 데이터..
정적 해싱 해싱의 개념 해시(hash) 탐색키에 산술적인 연산을 통해 버킷의 주소를 계산하는 해시함수를 사용하여 데이터 배분 및 접근하는 기법 버킷(bucket) 한 개 이상의 레코드를 저장할 수 있는 저장공간의 단위 크기는 일반적으로 디스크 블록의 크기와 일치 해시의 구조 레코드 탐색키의 집합(K) --입력--> 해시함수(h) --출력--> 여러개의 버킷(B) 해시 함수의 역할 여러개의 레코드 --> 해시함수(h) --> 여러개의 버킷(B) 해시 파일 구조 h(k) = k % 6 정적 해싱의 특징 버킷의 개수가 고정된 해싱 기법 키 값이 Ki인 레코드 삽입 h(Ki)를 통하여 Ki에 대응하는 버킷 주소를 생성하고 레코드를 해당 버킷에 저장 키 값이 Ki인 레코드 검색 h(Ki)을 통하여 버킷 주소를 생..
탐색의 개념 여러 데이터 중에서 원하는 값을 가진 데이터를 찾는 것 데이터 형태 -> 리스트, 트리, 그래프 등 내부탐색 vs 외부탐색 연산 -> 탐색 + 초기화(정렬), 삽입, 삭제 등 순차 탐색 리스트 형태로 주어진 원소들에 대해서 처음부터 하나씩 차례대로 비교하면서 원하는 값을 가진 원소를 찾는 방법 탐색 실패의 경우 -> 항상 n번 비교 O(n) 탐색 성공의 경우 -> 최소 1번 ~ 최대 n번 비교 O(n) 삽입 -> O(1) 삭제 -> O(n) 삭제할 데이터에 대한 탐색이 필요 특징 모든 리스트에 적용 가능 원소가 무순서로 연속해서 저장된 비정렬 데이터 탐색에 적합 데이터가 큰 경우에는 부적합 탐색과 삭제 -> O(n) 이진 탐색 개념과 원리 정렬된 배열 형태로 주어진 원소들을 절반씩 줄여가면서..
- Total
- Today
- Yesterday
- 인접행렬
- 인접리스트
- stackframe
- javascript
- 알고리즘
- 재귀함수
- 최단경로
- 세마포어
- 입출력장치
- 이진탐색
- 구조체
- 교착상태
- client side rendering
- Stack
- Java
- react
- 클래스
- 소프트웨어
- BFS
- server side rendering
- 퀵정렬
- 동적프로그래밍
- 운영체제
- dfs
- C++
- 자료구조
- 병행프로세스
- C
- 배열
- 스텍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |