본문 바로가기

JAVA 공책/=> 다시 정리

(7)
Stream 총정리 스트림(Stream)JVM 외부에 있는 파일이나 네트워크와의 데이터 송수신 통로.이 통로는 단방향성이기 때문에 읽는 스트림과 쓰는 스트림이 따로 존재.데이터 전송 방식에 따라 분류한다.싱크 스트림 / 프로세싱 스트림 으로 분류하기도 한다.싱크 스트림 : 데이터 근원지에서 직접 읽거나 목적지에서 직접 기록하는 클래스싱크 스트림은 보통 파일을 읽고 쓰는 작업을 지칭하지 않고,통신을 할 때 서로 싱크를 맞춰야 하는 그런 경우를 싱크라고 지칭한다.프로세싱 스트림 : 다른 스트림을 이용해, 중간에서 어떤 작업을 하는 클래스 데이터전송 방식 바이트 단위(바이너리, 숫자)Byte Stream : 이미지, 동영상 파일 등 텍스트 단위(문자)Character Stream : text (html 등) 최상위추상 클래스 I..
Parameter Parameter클라이언트에서 서버에게 전송하는 데이터를 말합니다. 전송방식에는 두가지가 있는데 get 과 post입니다.get은 URL 뒤에 붙여서 전송하는 방식으로 속도는 빠르지만 보안이 취약한 편입니다. URL으로 보내기 때문에 길이도 제한이 있습니다.post는 본문에 저장해서 보이지 않게 전송하는 방식으로 보안이 우수하고 길이에 제한이 없습니다. 속도는 get 보다는 느리지만 요즘은 컴퓨터가 좋아져서 보안쪽으로 더 신경써서 post를 더 많이 쓰는 추세입니다. 작성방식에는 세가지가 있습니다. url 뒤에 직접 ?를 추가하고 이름=값 의 형식으로 직접 추가하는 방법이 있고 이 방식은 get 방식으로만 전송이 가능합니다. 두번째로는 form을 만들고 그 안에 name을 갖는 개체들을 만들어서 보내는 ..
Exception Handling(예외처리) # Exception Handling(예외처리)1. 문법적 오류 = 에러-자바 소스 파일을 만들고 실행을 하기 위해서 class를 만들 때, 문제가 있어서 class를 만들지 못하도록 하는 경우-자료형을 검사해서 자료형이 맞지 않는 경우 에러를 발생시킵니다.-자료형을 확인하는 것이지 값을 가지고 확인하는 것이 아닙니다.int x =100;int y =0.0; 문법적 오류라서 실행자체가 안된다.이클립스에서는 빨간색 원으로 표시를 해준다. =>오류를 수정하고 실행 해야 함2. 예외-문법적 오류는 없어서 소스파일을 가지고 class를 만들어서 실행을 했는데 실행 도중에 문제가 생겨서 프로그램이 중단 되는 현상입니다.-자료형의 문제가 아니고 값(데이터)의 문제인 경우가 많습니다.-예외는 값에 문제가 생겨서 발생..
인터페이스 다형성(Polymorphism): 동일한 코드가 상황에 따라서 전혀 다른 메소드를 호출하는 것.▷ 상속과 오버라이딩을 통해서 구현한다. Bcz. 하나의 코드가 다른 메소드를 호출하려면 다른 클래스의 인스턴스를 참조할 수 있어야 하기 때문이다. 다른 클레스의 인스턴스를 참조할 수 있는 것은 하위 클래스 밖에 안되어 상속이 필요하다)추상클래스(abstract class): 인스턴스를 생성할 수 없는 클래스▷ class 앞에 abstract를 추가하면 추상클래스를 만들 수 있다.▷ 왜 만들어야 하나? 여러개의 클래스에 공통된 내용이 있어서Interface: 추상메소드와 상수 그리고 default 메소드를 가진 개체.▷ 모형을 먼저 만들고, 상속 받은 클래스에서 구현해서 사용.⇒템플릿 메소드 패턴▷ 추상클래스처..
Trigger TriggerTrigger(트리거)는 DML 문장 수행 전이나 수행 후에 자동으로 수행되어야 하는 내용을 작성할 수 있는 개체입니다.보통 수행 전에 자동으로 수행되어야 하는 내용은 유효성 검사인데, 트리거를 사용하여 유효성 검사를 통과한 경우에만 작업이 수행되도록 할 수 있습니다.수행 후에 하는 내용은 하나의 테이블에 테이터가 삽입되거나 삭제, 수정 될 때 연쇄적으로 삽입, 삭제, 수정 되어야 하는 다른 데이터가 있을 경우에 사용됩니다.예를 들어 sqlite3같은 데이터베이스의 경우, 외래키 설정은 가능하지만 외래키 옵션이 제대로 작동되지 않아서 삭제 이상이 생기는 경우가 있는데 이 경우에 트리거를 사용하여 해결할 수 있습니다. Trigger 생성법1. 공식 create [or replace] trigg..
Oracle의 프로그래밍 PL/SQL & Procedure 오라클은 SQL로 프로그래밍을 할 수 있는 기능이 있습니다.바로 PL/SQL이라는 것으로 데이터베이스의 개념은 아닙니다.MSSQLServer에서는 T-SQL이라고 합니다. 현재로서는 3개의 언어를 배워야 하는 상태이므로 이후에 자세히 알아보시기 바랍니다. Procedure이 얘기를 꺼낸 것은 여기서 procedure이라는 개체가 있기 때문입니다.procedure는 자주 사용하는 SQL 문장을 하나의 이름으로 묶어서 만들어 두고 사용하는 기능입니다. 관계형 데이터베이스마다 만드는 방법이 다르기 때문에 다른 데이터베이스를 사용하신다면 이 방법은 안 맞을 수도 있습니다.참고로 오라클에서 프로시저를 만드는 문법은 PL/SQL 이고 MSSQLServer에서 만드는 문법을 T-SQL 이라고 합니다.프로시저를 만들어..
Database에서의 Inline view & Rownum & Sequence & Index & Synonym Inline view인라인 뷰는 많은 양의 데이터가 있을 때 일정한 개수 단위로 데이터를 가져오기 위해서 실행하는 명령입니다.Top-N(상위 몇개) 이라고도 하고 Paging(일정한 개수 단위)과도 같은 말입니다.인라인 뷰는 일정한 개수 단위로 자르기 위해서 필터링을 하게 되는데, 오라클에서의 필터링은 from 절(테이블을 가져오면서)에서 할 수 있기 때문에 미리 필터링을 한 뒤에 일정 개수 단위로 잘라서 가져옵니다.오라클의 이러한 방식은 데이터가 많이 생기는 경우, 예를 들어 두 테이블을 join하게 되면 모든 cross join이 되면서 많은 양의 데이터가 만들어지는데 이 경우 데이터가 많으면 많을 수록 시간이 오래 걸립니다. 이 때 오라클의 from절에서 미리 필터링을 한 뒤에 테이블을 합치게 되면..