10. 시퀸스, 인덱스, 뷰

1. SEQUENCE

  • 연속적인 숫자를 생성해내는 객체
  • 기본키가 각각의 입력되는 row를 식별할 수 있기만 하면 된다고 할 때
    • 시퀀스에 의해 생성된 값 아용
  • 테이블의 기본키 값을 생성하기 위해 사용되는 독립적인 객체
  • 테이블에 종속되지 않는다
    • 하나의 시퀀스를 여러개의 테이블에 동시에 사용 가능

Continue reading

11. PL/SQL

1. PL/SQL이란

  • Procedual Language extension to Structured Query Language
  • SQL과 일반 프로그래밍 언어의 특성을 결합
  • 변수 상수 선언 가능
  • 조건문 반복문 사용 가능
  • DBMS의 역할이 커지면서 SQL을 넘어서는 일반 프로그래밍 언어의 기능이 필요하게 되었다
    • 1989년 오라클 6버전부터 등장

Continue reading

11. 쓰레드

1. 쓰레드란

  • 할당된 메모리공간을 기반으로 실행중에 있는 프로그램
  • 프로그램을 실행하면 os로부터 메모리를 할당받아 프로세스가 된다
  • 프로그램을 수행하는데 필요한 데이터와 메모리등의 자원과 쓰레드로 구성
  • 쓰레드
    • 프로세스 내에서 실제로 작업을 수행
    • 별도의 실행흐름
    • 모든 프로세스에는 최소 하나 이상의 쓰레드가 존재
    • 둘 이상의 쓰레드를 가진 프로세스 : 멀티쓰레드 프로세스
  • 멀티 태스킹
    • 여러 개의 프로세스가 동시에 실행되는 것처럼 보이는 것
  • 멀티 쓰레딩
    • 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업 수행
  • 싱글 쓰레드
    • 실행 흐름이 하나밖에 없으므로 한번에 하나의 작업밖에 하지 못한다
  • 멀티 쓰레드
    • 하나의 응용프로그램에 두개 이상의 쓰레드가 동시에 실행될 수 있다
    • 두개의 작업을 병렬적으로 처리
    • 계산작업, 스풀링 등
    • 장점
      • CPU 사용률 향상
      • 자원사용 효율성
      • 사용자에 대한 응답성 향상
      • 작업이 분리되어 코드가 간결
    • 단점
      • 여러 쓰레드가 같은 프로세스 내에서 자원 공유
        • 동기화, 교착상태 문제 고려
        • (두 쓰레드가 같은 자원을 사용하려 기다리느라 진행이 멈춘 상태)

Continue reading

11. 추상

1. 추상메서드 (abstract method)

  • 메서드의 구현부가 없는 것
  • 오버라이딩 관계를 형성하기 위해 정의된 메서드

    public abstract int func(int a);

    • 메서드 블락{}을 포함하지 않는다
  • 상속 계층의 부모클래스에서 자식 클래스를 위해 메서드 시그니처만 정의
  • 자식클래스에서 오버라이딩 해야만 호출가능
  • 부모클래스에서는 선언부만 작성
  • 자식클레스에서 기능 구현

Continue reading

10. 답변형 게시판

  • 데이터들을 계층형으로 만들기 위해
    • 하나의 글에 대한 답변과 연관된 다른 답변들을 하나의 그룹으로 묶는다
    • 게시판 테이블에 3개의 컬럼 추가
    • 하나의 글에 연관된 모든 글들을 하나의 그룹으로 묶어주는 컬럼 : groupNo
    • 글이 몇 번째 단계의 답변인지를 나타내는 컬럼 : step
    • 글의 정렬 순서를 지정해주는 컬럼 : sortNo

Continue reading

10. 직렬화

  • 직렬화 (serialization)
    • 객체를 네트워크를 통해 전송하거나, 파일로 저장하고자 할 때 직렬화
    • 객체에 저장된 데이터를 스트림에 쓰기 위해 연속적인 데이터로 변환
    • 객체의 인스턴스변수들의 값을 일렬로 나열
  • 역직렬화 (deserialization)
    • 반대로 스트림으로부터 데이터를 읽어서 객체를 만드는 것

Continue reading

10. 다형성

1. 다형성

a. 다형성이란

  • 부모 클래스 타입의 참조변수로 자식클래스의 인스턴스를 참조

    Parent p = new Child();

    • 부모의 참조변수로는 부모의 멤버들만 사용
    • 오버라이딩 메서드의 경우 자식 메서드 호출
    • 반대의 경우는 불가
  • 한 타입의 참조변수로 여러 타입의 객체를 참조
    • 부모 타입이 파생된 모든 자식타입을 가리킬 수 있다.
  • 여러 개의 개별 클래스를 하나의 부모클래스로 통합관리
    • 부모 타입의 변수로 자식 타입을 일관되게 관리할 수 있다.

Continue reading

9. 데이터 정의어 / DDL / 테이블 제약조건

1. ddl

  • 오라클
    • 데이터를 저장하고 관리해주는 프로그램
    • 관리를 위해 다양한 저장객체 (오브젝트)를 생성
  • ddl
    • 오브젝트를 생성,변경,관리하는 명령어
  • create
    • 새로운 오브젝트나 스키마를 생성
    • 데이터 베이스 객체들을 생성

      create 객체종류 객체명..

Continue reading

9. 커넥션풀, 싱글톤패턴

1. 커넥션 풀 개요

  • 데이터베이스에 연결하기 위한 커넥션 객체는 새로 만들어질 때 많은 시스템 자원이 요구
    • 메모리에 객체를 할당할 자리를 만드는 작업
    • 객체가 사용할 자원들을 초기화하는 작업
    • 객체가 필요없어지면 거두어들이는 작업
    • 매번 새로운 데이터베이스 연결 요청이 들어올때마다 해당 작업을 수행해야된다면 많은 부담
  • 커넥션 객체 생성 관리 방법
    • service method (doGet, doPost)에서 커넥션 객체 생성
      • 데이터베이스와 연동하기 위해 사용한 방법
      • 커넥션 객체의 레퍼런스 변수가 지역변수에 할당
        • 요청당 한개씩 커넥션 객체 생성, 시스템 부하
        • 메모리 낭비
        • 커넥션 시간이 요청시간에 포함
    • init method에서 커넥션 객체 생성
      • 커넥션 객체의 레퍼런스 변수는 전역변수에 할당
      • 커넥션 시간이 걸리지 않는다
      • 하나의 커넥션을 쓰기때문에 쿼리가 쌓이게 되어 응답시간 증가
    • 커넥션 풀에서 객체 생성
      • 자원을 빌려쓰고 회수하는 방법 사용
      • 미리 여분의 커넥션을 만들어놓는다
      • 사용자의 요청이 있을 때 미리 만들어져있는 커넥션 부여
      • 사용된 커넥션 객체는 다시 풀로 회수
      • 커넥션 생성 개수 결정 가능

Continue reading

9. 상속

1. 상속 (extends)

  • 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것
  • 이미 만들어진 클래스의 멤버들을 물려받아 새로운 클래스를 정의한다
  • 공통되는 부분을 base클래스로 추상화, 이를 상속하면서 Derived 클래스를 정의한다.
  • 하위클래스가 상위클래스를 상속받으면 하위는 상위의 모든 것을 이용할 수 있다.

Continue reading

8. 트랜잭션 제어어 / TCL

1. 기본

  • sql developer에서 insert문을 통해 테이블에 값 입력
    • 메모리 상에만 입력
    • cmd창에서 해당 테이블 로드 시,insert문을 통해 입력한 데이터 들어가있지 않다
  • 입력한 데이터가 전달되지 않을 경우 전부 취소(rollback)
    • 은행의 송금과 같은 개념
    • a계좌 출금 후 b계좌에 입금 확인 시 거래 성사 (commit)
    • a계좌 출금 후 b계좌에 입금되지 않았을시 취소 (rollback)
    • 네트워크 장애 등의 이유
  • 모두 처리 (commit) 혹은 모두 취소 (rollback)
  • 반드시 트랜잭션 처리해야한다
  • savepoint를 설정하여, 트랜잭션 관리 가능

Continue reading

8. 게시판만들기

1. db

테이블스페이스, 사용자

```sql –테이블 스페이스 생성 create tablespace herbmall datafile ‘c:\oracle\data\herbmall.dbf’ size 48m extent management local uniform size 64k segment space management auto;

Continue reading

8. I/O

1. 자바에서의 입출력

  • I/O (input, output)
    • 컴퓨터 내부 또는 외부의 장치와 프로그램 간의 데이터를 주고받는 것
    • System.our.println 등
  • Stream
    • 입출력, 즉 어느 한쪽에서 다른쪽으로 데이터를 전달
    • 두 대상을 연결하고 데이터를 전송할 수 있는 통로 = 스트림
    • 단방향 통신만 가능
    • 하나의 스트림으로 입력과 출력을 동시에 할 수 없다

      데이터 소스 - 입력스트림 - 자바프로그램 - 출력스트림 - 데이터목적지

Continue reading

8. static

1. static

a. 메모리영역

  • 메서드 영역 : 메서드의 바이트코드, static 변수
  • stack 영역 : 값 타입, 지역변수, 매개변수 등
  • heap영역 : 참조타입, 인스턴드 등 / 메서드는 공유하지만 객체는 영역을 따로 할당

Continue reading

7. 서블릿

1. 서블릿의 동작 원리

  • 서블릿
    • 자바의 클래스 중 오직 서버에서만 해석되어 실행되는 클래스
    • 서블릿 규약에 따라 만든 클래스
    • 최초 브라우저 접속에 의해 인스턴스가 메모리에 올라간다
  • 서블릿 생성
    • 서블릿 API 이용
    • 패키지 이용
      • javax.servlet
        • 프로토콜에 독립적인 서블릿을 만들기 위한 클래스
      • javax.servlet.http
        • http 프로토콜의 고유 기능 (get, post 등) 을 제공하는 서블릿을 만들기 위한 클래스
  • 서블릿 구현
    • GenericSevlet 이나 HTTPServlet 중 하나를 상속받아 구현
    • main()메서드가 없다
    • 서블릿의 특정 메서드는 웹 컨테이너(서버)가 호출한다
    • 서버가 서블릿에 요청을 전달할 때마다 서블릿의 service() 메서드 호출
    • GenericServlet
      • 요청을 처리하기 위해 자신의 service() 메서드를 오버라이드해야한다
      • service()메서드
        • 두 개의 매개변수(request, response)
    • HttpServlet
      • doGet(), doPost() 메서드를 오버라이드한다

Continue reading

7. Swing, Jtable

1. Swing

  • JFC(Java Foundation Class Library) 라고 명시한다
  • Awt처럼 프레임을 생성하고 이벤트를 지정한다
  • Awt보다 컴포넌트의 기능이 많다
  • Awt
    • 시스템 os의 자원을 그대로 이용
    • 단일 Panel로 구성
  • Swing
    • 컴포넌트를 자바로 구현
    • 다중 패널로 구성
      • 컴포넌트가 적재되는 패널이 계층별로 여러 개 존재한다

Continue reading

7. 클래스

1. 객체 지향 프로그래밍

  • 객체 (object)
    • 물건, 대상 등을 의미
    • 상태정보(속성, 데이터) / 변수
    • 행동(기능) / 메서드
  • 객체 지향 프로그래밍
    • 현실에 존재하는 사물, 대상, 그에 따른 행동 등을 실체화 시키는 형태의 프로그래밍
      • 나는 상점에서 물건을 두개 구매했다
      • 나, 상점, 물건 / 객체
      • 사과 두개 / 상태
      • 구매 / 행동

Continue reading

Pagination