학교 수업
-
트랜잭션?학교 수업/데이터베이스 2020. 4. 24. 16:40
트랜잭션(Transaction) - 개념 : 데이터베이스 작업의 논리적인 단위로 일련의 연산 집합을 의미 데이터베이스의 병행 제어 및 회복 작업의 기본 단위 하나의 transaction은 commit되거나 rollback되어야 한다. 병행 제어(concurrency control)?몇 개의 트랜잭셔을 동시에 수행시키는 것데이터베이스 처리의 성능을 향상시킬 수 있지만 여러 트랜잭션들을 적절히 제어하지 못했을 때는 문제점 발생 회복(Recovery)?장애(failure)가 일어났을 때 데이터베이스를 장애 발생 이전의 일관된 상태로 복원시키는 것 - 특성(ACID)① 원자성(Atomicity) : 트랜잭션은 완벽하게 수행 완료되거나, 전혀 수행되지 않아야 한다.② 일관성(Consistency) : 트랜잭션 수..
-
자바 개념 6(thread)학교 수업/자바프로그래밍 2020. 4. 23. 18:50
1:1 채팅프로그램이 아닌 다인원 채팅프로그램을 구현하려면서버가 여러 클라이언트와 통신하면서 요청을 처리하기 위해 필요한 쓰레드에 대해 알아야한다.( 서버&클라이언트 1:1이면 thread사용 불필요 but 서버 & 클라이언트1 & 클라이언트2 & 클라이언트3... 이면 thead사용해야함)그래서 therad란 무엇인가? thread 쓰레드 - 개념 : 하나의 프로세스 내부에서 독립적으로 실행되는 하나의 작업 단위 세부적으로는 운영체제에 의해 관리되는 하나의 작업 혹은 태스크를 의미 프로세스(Process) : 실행중인 프로그램, 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 그림으로 자세히 보자면 - 쓰레드의 생명 주기 1. Runnable (준비상태) 스레드가..
-
자바 개념 5(socket programming의 바탕 TCP/IP)학교 수업/자바프로그래밍 2020. 4. 23. 18:14
네트워크? 데이터를 교환하기 위해 전송 매체를 매개로 서로 연결되어 있는것인터넷? 전세계 컴퓨터들이 서로 연결되어 있는 거대한 네트워크 자바수업에서 마지막으로 다루는 것이 채팅프로그램인데채팅프로그램은 소켓 프로그래밍(=네트워크 프로그래밍)과 thread를 이용해 구현한다 socket 소켓 - 개념: 두 프로그램이 네트워크를 통해 서로 통신을 수행할 수 있도록 양쪽에 생성되는 단자 즉 프로세스 통신 간에 사용되는 양쪽 끝단을 의미한다. 소프트웨어 차원에서 원격에 존재하는 두 호스트를 연결해주는 매개체 - 자바 안에서 소켓의 종류에는 서버소켓과 클라이언트소켓이 있다.- 소켓은 통신하기 위해 대표적으로 TCP와 UDP를 이용한다. 그렇다면 소켓을 이용한 프로그래밍에 대해 더 자세히 설명하기 전에소켓이 통신하는..
-
관계 데이터베이스?학교 수업/데이터베이스 2020. 4. 21. 19:22
이전 포스팅에서 다루지 못한 관계 데이터 모델에 대해 자세하게 설명하겠다. 관계데이터베이스의 구조 릴레이션(Relation) 으로 표현됨 - 릴레이션 이란? 데이터 구조를 테이블 형태로 표현한 것릴레이션 스키마와 릴레이션 인스턴스로 구성① 릴레이션 스키마 : 릴레이션의 논리적 구조를 정의하는 정적 구조② 릴레이션 인스턴스 : 어느 한 시점의 릴레이션 상태, 즉 튜플 전체를 의미하며 동적 구조 - 릴레이션 관련 용어① 튜플(Tuple) : 릴레이션에서 각각의 행(row)을 의미② 속성(Attiribute) : 릴레이션에서 각각의 열(column)을 의미③ 도메인(Domain) : 한 속성이 가질 수 있는 값의 집합④ 차수(Degree) : 릴레이션에서 속성의 개수⑤ 카디널리티(Cardinality) : 릴..
-
데이터베이스란?학교 수업/데이터베이스 2020. 4. 21. 17:11
데이터베이스(Database, DB) - 개념: 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합 통합, 저장, 공용 데이터- 특징① 실시간 접근성 : 질의 또는 조회에 대해 즉각적 응답② 계속적 변화 : 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지하면서 변화③ 동시 공유 : 여러 사용자가 동시에 같은 데이터에 접근 가능④ 내용 참조 : 데이터를 참조할 때 주소나 위치가 아닌 내용으로 접근 - 장점① 데이터 중복 최소화② 데이터 공유③ 최신의 데이터 유지④ 용이한 데이터 접근⑤ 데이터의 표준화 가능⑥ 데이터의 논리적, 물리적 독립성⑦ 데이터 저장 공간 절약⑧ 일관성, 무결성(데이터의 정확성과 일관성 유지 보증하는 것을 뜻함), 보안성 유지 - 단점① 데이터..
-
자바 개념 4 (입출력)학교 수업/자바프로그래밍 2020. 4. 18. 18:25
자바 입출력 - 자바에서는 파일이나 콘솔의 입출력을 직접 다루지 않고, 스트림(stream)이라는 흐름을 통해 다룸. 스트림 ? 실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름.순서있는 데이터의 연속적인 흐름자료의 입출력을 도와주는 중간매개체 한 방향으로만 통신할 수 있어서, 입력과 출력을 동시에 처리할 수 없음.두 작업을 동시에 하고 싶다면, 스트림 객체 2개를 생성해야한다. 입출력 스트림은 객체 형태로 사용하며 읽기,쓰기,바이트 개수 계산 등 미리 정의된 유용한 메서드를 제공. 스트림의 종류?문자단위로 처리하느냐, 바이트 단위로 처리하느냐에 따라 나뉨 바이트 스트림 - 입력의 경우 InputStream 이 붙으며 출력의 경우 OutputStream 이 붙는다이미지나 동영상 등을 송수신 할때 주로..
-
자바개념3 (상속)학교 수업/자바프로그래밍 2020. 4. 16. 21:35
자바의 상속- 자바는 하나의 클래스만을 상속받는 단일 상속만 가능 (다중 상속일 경우, 메소드 출처의 모호성 문제 때문에)- 상속을 통해 기존해 작성된 클래스 재활용 가능하고, 클래스 간 계층적 관계를 구성함으로써 다형성 문법적 토대 마련 코드 예시 1234567891011121314151617181920class Parent { private int a = 10; // private 필드 public int b = 20; // public 필드} class Child extends Parent { public int c = 30; // public 필드 void display() { // System.out.println(a); // 상속받은 private 필드 참조, 오류 발생 System.out.p..
-
자바 개념2 (클래스, 필드, 메소드, 제어자)학교 수업/자바프로그래밍 2020. 4. 16. 21:19
자바 프로그램은 한 개 이상의 클래스로 구성 클래스(Class) ? 객체 지향 프로그래밍의 추상화(abstraction)라는 개념을 직접 구현한 것 선언방법접근제어자 class 클래스이름 { 접근제어자 필드1의타입 필드1의이름; 접근제어자 필드2의타입 필드2의이름; ... 접근제어자 메소드1의 원형 접근제어자 메소드2의 원형 ...}실제 코드 12345678910111213141516class Car { private int currentSpeed; private int accelerationTime; public void accelerate(int speed, int second) { System.out.println(second + "초간 속도를 시속 " + speed + "(으)로 가속함!!"); ..