OrientDB - 기본 개념 ① NoSQL & GraphDB - 서비스를 제공하는 성능이 좋은 데이터베이스 시스템이다. - 라즈베리파이(Raspberry Pi) 및 임베디드 환경에서 가볍고 탁월한 성능을 발휘한다.② 타 데이터베이스에 비해 성능도 월등해 여러 개의 서버를 지원하며 중대규모 서비스에도 사용 가능③ Key / Value, 칼럼지향, 다큐먼트 기능 지원으로 보다 유연하게 데이터를 모델링 한다. OrientDB - 설치 및 실행 (1). 다운로드 사이트Download (2). 설치 OS에 맞는 버전을 다운로드 한다. 적당한 곳에 압축을 푼다.윈도우(cmd) 또는 Mac(terminal) 실행 후 해당 경로/bin 으로 이동 후 실행 후 root 계정 패스워드 설정 - 윈도우 : server.b..
오라클(Oracle) - If Exists 설명 ① MySQL, MariaDB 등 - 제품 군에서는 아래와 같은 SQL 구문으로 기존 객체를 삭제 후 새로 생성한다. - 예) DROP TABLE IF EXISTS 'table_name'; ② 오라클(Oracle) 에서는 IF EXISTS 아직까지 지원하지 않으므로 PL/SQL 등으로 처리를 해야한다. ③ 직접 테이블, 프로시저, 함수 검사는 DB 성능에 오버헤드(Overhead)가 발생하므로 주의하자. 오라클(Oracle) - 객체(Object) 삭제 PL/SQL 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 31 32 33 34 35 36 37 38 39 ..
Synonym(동의어) - 개념 설명 ① Synonym 정의 - 다른 객체들의 대체 이름(가명) 및 Alias(별명)을 가진 객체라고 정의할 수 있다. ② 다른 계정의 스키마에 접근 시 SQL문에 항상 소유자를 명시해 주는 것은 번거롭고 보안에도 적합하지 않다. - 예) SELECT * FROM HR.EMPLOYEE ③ Synonym 생성 전에 해당 오브젝트의 접근 권한을 획득해야 한다. 생성은 가능하지만, 권한이 없으면 접근 불가 Synonym(동의어) - 생성 및 삭제 Synonym 사용 방법 1 2 3 4 5 6 7 8 9 10 11 /* 테이블을 조회하고자 하는 계정에 권한 부여 */ GRANT SELECT ON 권한을줄테이블명 TO 권한을받을사용자계정 /* 테이블 Synonym 생성 */ CRE..
MySQL & MariaDB - MyISAM 엔진(Engine) ① 비-트랜잭션-세이프(non-transactional-safe) 테이블 관리 기법 - 고성능 스토리지 및 복구 기능 제공 ② 블로그, 게시판 등 조회(읽기 위주) 기능이 많은 성격의 서비스에 최적화, 중소규모 서비스에 유리하다. ③ 트랜잭션이 관리가 부족하므로, 대량 데이터 삽입 및 전문 검색이 필요한 서비스에 적합하다. MySQL & MariaDB - InnoDB 엔진(Engine) ① 트랜잭션-세이프(transactional-safe) 관리 기법 - Oracle, MSSQL 제품과 같이 많은 기능 제공한다.(Commit, Rollback, 장애 복구 등) ② 테이블 및 인덱스(Index) 등을 테이블 스페이스에 저장, 데이터 캐싱 및 ..
MySQL & MariaDB - 백업(Backup) 설명 ① MariaDB와 MySQL은 아직까지는 동일한 명령어로 사용한다고 볼 수 있다. ② mysqldump 백업 및 복구 방식은 적은량의 데이터, 간편한 SQL 파일 수정, 특정 정보 백업 등의 많은 장점이 있다. ③ 단, 백업 할 데이터가 많은 경우 백업 및 복구 과정에서 수행 시간이 매우 느리니 참고하도록 하자. MariaDB & MySQL 백업 데이터베이스(Database) 부분 백업(Backup) 1 2 3 4 5 /* 예 */ $ mysqldump -uroot -p[패스워드] [데이터베이스명] > [저장 파일 이름].sql /* 활용 */ $ mysqldump -uroot -p1234 testDB > backup_DB.sql cs 데이터베이..
React[리액트]- Router 기본 예제 설명 ① 리액트(React)에서는 URL 값에 따른 뷰(View)를 보여주는 Router를 제공한다. ② 렌더링(Rendering)을 서버쪽에서 담당하는 것은 자원 소모가 있으므로, 뷰(View) 렌더링을 브라우저에서 담당 하는 것이다. ③ 즉, 브라우저에서 압축과 캐싱 기능을 활용하여 렌더링을 후 서버에서 필요한 데이터만 전달받아 보여준다. React Router + Redux 기본 구조 React Router + Redux 기반 어플리케이션의 일반적인 구조는 아래와 같다. 참고 하자. React 라우터(Router) 예제 코드 index.html 1 2 3 4 5 6 7 8 9 10 11 12 13 Colored by Color Scripter cs sty..
React[리액트]- 생명주기(LifeCycle) 설명 ① 리액트(React)에서는 Props, State값이 변화 될 때 컴포넌트(Component)에 많은 변화가 일어난다. ② 컴포넌트(Component) 생성, 업데이트, 제거 될 때 일어난다. ③ 리액트(React) 에서는 DOM 혹은 페이지에 올라갈 때를 마운트(Mount), 그 반대는 언마운트(Unmount) 라고 정의한다. React Life Cycle React에서는 아래 그림과 같은 생명주기(LifeCycle)을 원칙으로 한다. React 생명주기(LifeCycle) 예제 코드 main.js 1 2 3 4 5 6 7 8 9 import React from 'react'; import ReactDOM from 'react-dom'; impo..
Spring Boot - 기본 프로젝트(Project) 생성 ① 이번 포스팅에서는 Spring Boot Gradle 기반 프로젝트 생성을 알아보자. ② Spring Boot 실행 및 포트(Port) 변경 부분도 정확하게 알아두도록 하자. 프로젝트 생성 Spring STS 실행 후 Spring Starter Project 선택 다음 화면에서 프로젝트 명 및 Type(Gradle 또는 Maven), Packaging, Version, Language 등을 선택 중요한 선택이다. AWS, RDBMS, NoSQL 등 외부 API를 간편하게 설정 할 수 있다. 현재 포스팅에서는 간단하게 테스트 할 예정이므로, Web 만 선택 후 Finish 한다. 생성 완료 된 프로젝트 구조 Spring Boot - 컨트롤러(C..
Spring STS - Eclipse IDE 설치 방법 ① STS - 이클립스(Eclipse) 기반 사용도가 높고 안정성이 검증된 플러그인이 합쳐진 IDE 이다. ② Gradle 및 Maven 기반 프로젝트를 매우 쉽고 빠르게 시작할 수 있다. 1. 다운로드 Download 클릭 후 본인 OS 환경에 맞는 버전(version)을 다운로드 한다. 2. 압축해제 압축 해제 시 에러가 발생하면 압축 파일 이름을 짧게 변경 후 해제한다. 3. 실행 STS.EXE 파일을 실행한다. 4. 작업 경로 설정(workspace) 프로젝트가 저장 될 폴더를 선택한다. 5. Gradle 다운 및 설치 (1).실행이 완료되면 Dashboard > Manage > IDE EXTENSIONS 를 클릭 (2).Gradle (STS..
Npm(node.js) - 모듈(module) 관리 (1). 설명 ① npm 모듈(module) 관리에서 중요한 설치, 업데이트, 삭제 방법을 설명한다. ② 설치 및 업데이트 명령어에 버전(version)을 명시하지 않으면, 최신버전으로 설치된다. ③ npm 대신에 모듈 설치 부분에서 빠른속도, 안정성이 검증된 yarn에 대해서는 다음 포스팅에 설명한다. npm install module_name #npm 모듈 설치(로컬 설치) npm install -g module_name #npm 모듈 설치(전역 설치) npm update module_name #npm 모듈 업데이트 npm uninstall module_name #npm 모듈 삭제 cs (2). 결과 화면