개발 251

[오라클(oracle)] sql merge 기능 설명 및 예제

안녕하세요.오늘은 sql 문법을 소개하고자 합니다.바로 merge 문법 입니다. 제가 직접 실습한 위주의 포스팅을 하고자 하기때문에...정의 및 문법은 간략하게 설명드리겠습니다. 설명Merge 는 말 그대로 병합 입니다.두개의 테이블을 하나로 합치는 것 입니다.저는 처음에 insert into A select * from B이런식으로 단순 합병이 가능하여 merge의 기능을 얕잡아 봤는데중요한 것은 merge의 기능은 조건에 따라 update, delete가 가능 하다는 것입니다. 문법 merge into Table1 using Table2 on (병합조건절) when matched then update set 업데이트 내용 delete where 조건 when not matched then insert..

개발/DB 2019.10.22

[오라클(oracle)] 파티션 테이블을 개념(테이블 파티셔닝)

안녕하세요.오라클의 파티션 테이블에 대해 포스팅하고자 합니다.저도 자세히 모르기 때문에 하나씩 적어가며 정리하고 있습니다.바로 시작하겠습니다. 오라클 테이블에서 중요하고도 많이 사용되는 형태의 테이블 입니다. 모든 컴퓨터의 작동 원리는 동일합니다.평소에 데이터를 파일에 저장해 두고 해당 데이터가 수정되거나 조회되는 경우 메로리로 복사한 후 메모리에 작업하게 됩니다.이 공간을 일반적으로 버퍼(Buffer)라고 부릅니다.이렇게 작업을 하는 이유는 디스크 vs 메모리 처리속도를 비교하였을때 메모리에서의 처리속도가 월등히 빠르기 때문입니다. 오라클에서는 이때 사용하는 메모리를 Database Buffer Cache(데이터베이스 버퍼 캐시)라고 합니다.Database Buffer Cache라는 공간을 Tables..

개발/DB 2019.10.21

[오라클] Join 원리, 개념 파악하기(loop join, sort_merge join, hash join)

안녕하세요.차근차근 개념부터 잡아가며 정리하기위해 책들을 읽고 정리하고자 합니다.오늘은 오라클, mysql 등 DB에서 사용하는 join의 원리를 파악하고자 합니다. 대부분... 같은 컬럼을 연결해서 무심코 사용하고 있지 않나요?저는 오라클을 공부하고있기 때문에 오라클을 기준으로 하겠습니다. 먼저, DBMS의 작동 원리 입니다.평소에 데이터는 하드 디스크의 데이터 파일에 저장해 두었다가필요한 시점에 메모리로 복사 해 옵니다.(이때의 메모리 = 데이터베이스 버퍼 캐시) 여기서 중요한 것은 100개의 칼럼을 가진 테이블에 Select를 통해 1개의 컬럼을 수행할 경우에도 100개의 컬럼을 모두 접근하게 됨으로 조심해야하며,정규화가 중요합니다. 이제 여기서 자주 들었던 Join의 종류가 나오기 시작합니다.1)..

개발/DB 2019.10.19

윈도우 절전모드 USB 키보드 미인식 문제 해결

안녕하세요.저는 현재 윈도우10을 사용중에 있습니다.그리고 컴퓨터는 2대를 사용하는 KVM이라는 변환기를 사용하고 있습니다.이 변환기를 사용하여 컴퓨터는 2대를 사용하고, 키보드와 마우스는 각 1대를 사용하고 있습니다.그런데 이상한 현상이 발생했습니다.2대의 컴퓨터가 동일한 조건인데 컴퓨터의 절전 모드시에 키보드를 누르면 인식이 안되는 것이었습니다.지금부터 절전모드에서 USB인식을 하지 못하는 상황을 방지하기위해 설정 방법을 소개하겠습니다. 바탕화면에서 우클릭을 합니다.여러 메뉴가 나오는데 '디스플레이 설정' 으로 들어갑니다. 바로 빨색으로 표시되어있는 '추가 전원 설정'으로 갑니다.절전에 관련되어 있는 설정을 할 수 있습니다. '설정 변경'이라는 메뉴가 있는데 표시되어 있는 곳 중 아무곳이나 들어가도 ..

개발/윈도우 2019.09.27

[선형구조]자료 구조의 개념 정리(리스트, 스택, 큐, 데크)

지금까지 자료구조를 대충 여겨왔네요...이참에 하나씩 정리하려고 합니다. 자료 구조의 정의프로그램에서 사용하기 위한 자료를 기억장치의 공간내에 저장하는 방법과 저장된 그룹 내에 존재하는 자료 간의 관계, 처리 방법 등을 연구 분석하는 것을 말한다. ○ 자료 구조는 자료의 표현과 그것과 관련된 연산 ○ 자료 구조는 일련의 자료들을 조직하고 구조화하는 것○ 어떠한 자료 구조에서도 필요한 모든 연산들을 처리하는 것이 가능○ 자료 구조에 따라 프로그램 실행시간이 달라짐 자료 구조의 분류 자료 구조의 이용○ 정렬(Sort) : 기억장치 내의 자료를 일정한 순서에 의해 나열하는 것 ○ 검색(Search) : 기억장치 내의 자료를 찾는 것○ 파일 편성 : 자료를 기억 매체에 저장할 때의 파일 구조○ 인덱스 : 파일에..

개발/java,spring 2019.09.10

후보키, 기본키 등 관계형 데이터 모델 설명(ER 다이어그램 기호 설명)

안녕하세요.간혹 E-R 다이어그램 기호 표시를 잊어.. 적어두려고 합니다.ppt로 간략하게 만들었습니다. 참고하세요. 이외예도 간략한 단어들을 정의하려 합니다. 관계형 데이터 모델(Relational Date model) □ 관계형 데이터 모델은 가장 널리 사용되는 데이터 모델로, 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델이다. □ 2차원적인 표(Table)를 이용해서 데이터 상호 관계를 정의하는 DB구조를 말한다. □ 기본키(Primary Key)와 이를 참조하는 외래키(Foreign Key)로 데이터 간의 관계를 표현한다. □ 튜플 ○ 릴레이션을 구성하는 각각의 행 ○ 튜플의 수 = 카디널리티 = 대응수 □ 도메인 ○ 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자 값들의 집합 ex) ..

개발/DB 2019.09.02

이클립스 svn 주소 변경하기 (eclipse svn adress change)

안녕하세요.이번 포스팅은 이클립스상의 svn 주소를 변경하고자 합니다.기존 서버의 용량 부족으로 새로운 서버로 이관했거든요. 방방은 간단합니다 하지만 알지 못하면... 한참 찾아야 하죠. 먼저, 이클립스상에 Window - Show View - Other 로 들어갑니다.프로젝트가 아니라 이클립스 자체의 Window 메뉴 입니다. svn을 입력하여 검색합니다.그리고 SVN Repostitories를 선택합니다. 여기서 저도 약간 헤맸습니다.거의 상단쪽을 쳐다보는데 이클립스상에 아래쪽을 보세요Console 로그가 나타나는 창에 SVN Repostitories를 찾습니다. 그리고 현재 Repostitories를 우클릭합니다.이후에는 Location Properties..를 선택합니다. 프로젝트를 받을때 화면이..

개발/개발도구 2019.05.07

#4_Clean Code(클린 코드)를 읽고(11,12,13,14,15장 정리)

11.시스템 ○ 시스템 제작과 시스템 사용을 분리하라 - 추상팩토리패턴, 팩토리패턴 공부 - 의존성 주입 : 사용과 제작을 분리하는 강력한 메커니즘 - 제어 역전 기법 사용 : 한 객체가 맡은 보조 책임을 새로운 객체에게 전적으로 떠넘긴다. 새로운 객체는 넘겨받은 책임만 맡으므로 단일 책임 원칙, 새로운 객체는 넘겨받은 책임만 맡으므로 단일 책임 원칙(Single Responsibility Principle, SRP)을 지키게된다. ○ 횡단(cross-cutting)관심사 - AOP(Aspect-Oriented Programming) : 횡단 관심사에 대처해 모듈성을 확보하는 일반적인 방법론 - 관점(aspect) : 특정 관심사를 지원하려면 시스템에서 특정 지점들이 동작하는 방식을 일관성 있게 바꿔야 ..

개발/서적 2019.04.25

CentOS 7(리눅스) 방화벽 조회 및 추가

CentOS 7 부터는 iptables 관련 명령어가 아닌 firewall으로 써야한다고 합니다. 이전에 방화벽 설정을 위해 netstat를 활용한적이 있어포스팅한적이 있었습니다. [개발/리눅스] - 리눅스 방화벽 설정(linux firewall)_the network adapter could not establish the connection netstat 명령어를 활용하기 위해서는yum install net-tools 명령어를 활용하여 툴을 설치해야 합니다. 하지만 이번 운영서버 기존 그대로를 유지하기위해 netstat 명령어가 아닌기본 명령어를 활용하고자 하였습니다. 열린포트 확인 명령어firewall-cmd --zone=public --list-all 포트 열기firewall-cmd --zone=..

개발/was 2019.04.23

#3_Clean Code(클린 코드)를 읽고(7,8,9,10장 정리)

주확색 배경으로 처리해둔 글자는 필자가 따로 공부해야 하는 부분을 체크해둔 것입니다. 7. 오류처리 ○ 오류 코드보다 예외를 사용하라 ○ 호출자를 고려해 에외 클래스를 정의하라 ○ 코드 감싸기(wrapper)클래스 136p 공부 ○ null 전달, 반환하지마라 8. 경계 ○ 경계 살피고 익히기 - 곧바로 우리쪽 코드를 작성해 외부 코드를 호출하는 대신 먼저 간단한 테스트 케이스를 작성해 외부 코드를 익히면 어떨까? 이를 학습테스트라 부른다. ○ 아직 존재하지 않는 코드를 사용하기 - Adapter 패턴으로 API사용을 캡슐화해 API가 바뀔 때 수정할 코드를 한곳에 모아서 테스트 했다(Adapter 패턴 공부) 9. 단위테스트 ○ 깨끗한 테스트 코드 유지하기 - 잡다하고 세세한 코드를 거의다 없앰(중복제..

개발/서적 2019.04.22