본문 바로가기

전체 글

(13)
Clustering(클러스터링) 클러스터링 : 여러 대의 서버가 병렬로 연결된 상태를 말한다. 로드 밸런서에 의해 각 클러스터링된 서버로 서비스가 실행된다. 클러스터링 된 서버들 중 한대의 서버가 이상이 있다면, 로드밸런서에서 그 서버의 분배를 제거함으로 정상적인 서비스가 이어진다. 즉, 한 서비스를 제공하는 여러 서버를 하나로 묶어, 성능을 높여 많은 양의 패킷을 처리한다.
이중화 이중화 (Active-Active / Active-Stand by) : 이중화는 2가지 형태로 구성된다. 1. Active - Active : 사용자가 각 서버로 분산되도로 구성이 된다. 서버 #1이 장애 발생하면 #2로 수행되도록 한다. 비용이 높지만 안정성을 확보할 수 있다. 사용자가 많은 곳에서 사용된다. 2. Active - Stand by : 평상 시에는 하나의 서버로 운영하고, 다른 하나의 서버는 언제라도 부팅하면 바로 사용할 수 있는 준비상태로 대기한다. 비교적 저렴한 비용으로 이중화를 구성할 수 있지만, 시스템 장애시간이 길고 안정성이 떨어진다.
TIMESTAMP 타임스탬프 (TimeStamp) : 지정된 시간에 한하여 변경 전의 데이터를 조회하여 복구할 수 있다. SELECT * FROM TEST_TABLE AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '10' MINUTE) WHERE ID = '1234' 시간 단위는 초, 분, 시, 일로 바꿔 적용할 수 있다.
문자 처리 함수 (SQL) UPPER : 대문자로 변환 SELECT UPPER("apple") FROM DUAL; => APPLE LOWER : 소문자로 변환 SELECT LOWER("APPLE") FROM DUAL; => apple LENGTH : 문자 길이 SELECT LENGTH('ORACLE') FROM DUAL; => 6 LENGTHB : 문자 바이트 수 SELECT LENGTHB('ORACLE') FROM DUAL; => 6 INSTR : 문자 위치 SELECT INSTR('HELLO ORACLE', 'A') FROM DUAL; => 9 SUBSTR / SUBSTRB : 시작위치에서 선택 개수/바이트 수 만큼 문자 추출 SELECT SUBSTR('HELLO ORACLE', '4', '2') FROM DUAL; => LO..
JAVA Thread(스레드) Thread - 하나의 프로세스 내부에서 독립적으로 실행되는 작업 단위를 말한다. 세부적으로는 운영체제에 의해 관리되는 하나의 작업 혹은 태스크를 의미한다. - JVM에 의해 하나의 프로세스가 발생하고 main()안의 실행문들이 하나의 스레드이다. - 다중 스레드 작업시에는 각 스레드끼리 정보를 주고받을 수 있어 처리과정의 오류를 줄일 수 있다. - 프로세스끼리는 정보를 주고받을 수 없다. Multi Threading (멀티스레딩) - 하나의 프로세스가 여러 스레드를 동시에 실행시키는 기법을 말한다. 장점 - CPU 사용률을 향상시킨다. - 자원을 효율적으로 사용한다. - 사용자에 대한 응답률이 향상된다. - 작업이 분리되어 코드가 간결해진다. 단점 - 서로 자원을 소모하다가 충돌이 일어날 수 있다. -..
세팅 Python 다운로드 - window 용으로 다운로드 https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org Pycharm 다운로드 - Python 에디터 https://www.jetbrains.com/ko-kr/pycharm/download/ Download PyCharm: Python IDE for Professional Developers by JetBrains Download the latest version of PyCharm for Windows, macOS or Linux. www.jetbrains.com
Merge 조인 MERGE INTO : 특정 조건의 데이터가 존재하는 경우에는 해당 ROW를 원하는 값으로 UPDATE하고, 없는 경우 새로운 데이터를 INSERT 한다. MERGE INTO table_name alias USING (table | view | subquery) alias -- 하나의 테이블만 이용한다면 DUAL 활용 ON (join condition) -- WHERE절에 조건 쓰듯이 WHEN MATCHED THEN -- ON 이하의 조건에 해당하는 데이터가 있는 경우 UPDATE SET col1 = val1[, ...] -- UPDATE 실행 WHEN NOT MATCHED THEN -- ON 이하의 조건에 해당하는 데이터가 없는 경우 INSERT (column lists) VALUES (values);..
Framework 개념 + Spring Framework Framework 란? 1) Design Pattern + Class Library - 구체적이며 확장 가능한 기반 코드 (클래스) 를 가지고 있다. 2) Application 의 틀과 구조를 결정 - Application 코드는 Framework에 설계되어 있는 제어 흐름에 따라 동작한다. - 즉, Framework 코드가 그 위에 개발된 개발자의 User 코드를 호출하고 제어한다. 장점 - 개발자는 business logic만 집중하면 되므로 생산성이 증가한다. - 일정한 개발형식을 띄게 된다. - 코드의 재사용 및 유지보수성이 증가한다. - 코드의 확장성이 증가한다. Framework VS Library - Framework : 소프트웨어의 설계와 구현을 재사용 가능하게끔 협업화된 형태로 클래스들을..