[Java] 자바의 직렬화, Serialization
·
BackEnd/Java
직렬화, Serialization 크기가 큰 데이터를 바이트단위로 잘게 나누어서 스트림을 통과할 수 있도록 만드는 것 데이터들을 순서에 맞게 바이트단위로 일렬로 나열하는 것과 비슷 writeObject 역직렬화, Deserialization 바이트단위로 잘게 나누어져 스트림을 통과한 데이터를 원본의 형식으로 다시 합치는 것 readObject
[Java] 자바 스트림의 종류
·
BackEnd/Java
스트림의 종류 바이트 스트림 문자 스트림 InputStream Reader OutputStream Writer FileInputStream FileReader FileOutPutStream FileWriter BufferedInputStream BufferedReader BufferedOutputStream BufferedWriter 바이트스트림만 존재 DataInputStream DataOutputStream ObjectInputStream ObjectOutputStream 바이트 스트림을 문자 스트림으로 변환 해주는 클래스 InputStreamReader OutputStreamWriter 문자 출력 스트림 PrintWriter
[Java] 자바의 보조스트림, FilterStream
·
BackEnd/Java
보조 스트림, FilterStream 입출력스트림의 기능을 강화하는 보조 스트림 2차 스트림 BufferedStream 클래스 내부에 버퍼를 가지고 있는 보조스트림 입출력장치와 프로그램 사이의 입출력횟수를 줄여 성능 향상(속도)을 유도한다. 기본적으로 사용되는 보조스트림 스트림을 다룰 때 거의 항상 사용한다. DataStream 자바의 기본자료형 형식을 유지하면서 입출력한다. 자료형에 맞는 입출력 메소드가 추가되어있다. readBoolean, writeBoolean, readInt, writeInt, ... 등 출력할 결과를 사람이 알아보기는 힘들다. ObjectStream 객체 단위로 입출력할 수 있도록 기능을 제공한다. DataInput / DataOutput interface를 구현하고 있다. Da..
[Java] 자바 입출력 I/O(Input / Output)
·
BackEnd/Java
Computer Input -----> Program 문제를 야기할 수 있다. 이걸 많이 쓴다 ↓↓ public void write(byte[] b, int offset, int len) throws IOException 출력스트림으로 b배열의 off인덱스부터 len만큼 출력한다.
[Java] 자바 파일 정보를 다루는 클래스인 File Class
·
BackEnd/Java
파일 정보를 다루는 클래스 입출력대상으로 사용할 수 있다. File file = new File("파일의 경로", "파일의 이름"); 절대경로와 상대 경로 절대 경로 : 루트 디렉토리부터 파일까지의 위치를 나타낸 것 상대 경로 : 클래스패스(ClassPath)로 부터 파일까지 경로를 적은 것. 클래스패스(ClassPath) - 프로그램이 실행 된 위치 이클립스는 프로젝트 폴더가 ClassPath로 적용되어 있다. 경로 지정 문자 . -> 현재 디렉토리 .. -> 부모 디렉토리 / -> 루트 디렉토리 ex) /test/folder -> D:\test\folder\ ex) ./test -> 프로그램실행폴더/test ex) D:/test/folder/../myfolder -> D:\test\myfolder c..
[Java] 자바 Throw
·
BackEnd/Java
public class Exception06_Throw { public static void main(String[] args) { Exception e = new NullPointerException(); // 예외 객체 생성 // Exception 은 Checked // NullPointerException e = new NullPointerException(); // 예외 객체 생성 // NullPointer 는 Un Checked이기 때문에 위의 소스는 작동하지 않는다. // 다만 try catch 문으로 감싸주면 실행 가능하다. // throw e; try { throw e; } catch (Exception e2) { // catch(Exception e) 부분은 이름 충돌이 날 수 있기 때문..
[Java] Throws, 예외 떠넘기기, 미루기
·
BackEnd/Java
throws 예외클래스명; [접근제한자] [식별자] [리턴타입] 메소드명(매개변수) throws 예외클래스명 { // 예외 발생 코드 포함 작성 } throws 가 적용된 메소드를 호출할 때 try - catch 구문을 이용한 예외처리가 필요하다. 예외처리를 하지 않으면 대부분 문법에러가 발생한다. 사용자 정의 예외 만들기 API Exception 클래스들 이외에 추가적으로 예외 상황을 정의하는 클래스를 만드는 것. 개발자가 직접 예외 상황을 설정하고 클래스로 구현하는 것 Exception 클래스, RuntimeException 클래스를 상속받아 구현한다. class User { private int age; public int getAge() { return age; } public void setAg..
[Java] 프로그램 개발 오류, Error
·
BackEnd/Java
컴파일 타임 에러 (Compile-time Error) 컴파일 시점에 발생하는 에러 이클립스에서는 소스코드를 저장하는 즉시 주로 문법 에러(Syntax Error) 런타임 에러 (Runtime Error) 프로그램 수행 중 발생하는 에러 수행할 수 없는 작업을 시도할 때 발생 주로 Exception(예외) 처리 된다. NullPointerException : null 값을 참조해서 코드 수행 시 ArrayIndexOutOfBoundsException : 배열에 Index 지정을 잘못 했을 때 ArithmeticException : 불가능한 산술연산 수행 시 논리 에러 (Logical Error) 프로그램이 에러없이 잘 작동한다. 프로그램의 흐름, 동작이 개발자의 의도대로 수행되지 않을 때 ex) 무한루프..
[Java] 예외 처리 구문, Exception Handling
·
BackEnd/Java
try ~ catch 구문 MultiCatch try { // 예외가 발생할 수 있는 코드 } catch(Exception e) { // 예외 처리 코드 } finally { // finally 는 생략 가능하다. // 특수한 경우 사용하게 되는데, try단에서 예외가 발생하여 프로그램이 종료 된 경우 // 실행이 안된 남아있는 코드들 중 반드시 실행해야하는 코드를 finally에 넣는다. // 프로그램이 예외가 없어 종료되지 않아도 무조건 실행된다. // 주로 Checked Exception 에서 사용하는 경우가 많다. // 자원해제할 때 사용하는 코드. } 일반적인 try catch package kh20200312; public class Exception03_Try { public static v..
[Oracle] 오라클의 조인의 종류와 간단한 문법정리
·
Database/Oracle
조인의 종류 순서는 Oracle 문법 - ANSI 문법 - Oracle 문법 - ANSI 문법 EQUI JOIN, 등가 조인 오라클 전용 구문 조인의 기본이 되며, FROM절에 조인 대상 테이블들을 ','(COMMA)로 나열한다. 조인 대상 테이블들의 공통데이터를 가지는 컬럼을 이용해 조인한다(WHERE 조건 = 조건) 조인 컬럼이 같은 값을 가질 때 조회될 수 있도록 WHERE 절에서 조인 조건을 적용한다. 가장 많이 사용되는 구문 형식이다. ANSI 표준 INNER JOIN, 내부 조인 EQUI JOIN과 같은 결과를 얻는다. 구문 형식 FROM 기본테이블 INNER JOIN 조인테이블 ON 조인조건절 INNER JOIN 키워드에서 INNER를 생략하고 JOIN만 사용해도 된다. NON..
[Oracle] 오라클 외에 데이터베이스에서 필수인 Join(조인)에 대하여
·
Database/Oracle
조인, JOIN 2개 이상의 테이블을 한번에 SELECT 하기 위해 사용한다. Primary Key 와 Foreign Key를 이용하여 조인 조건을 설정한다. 조인 조건 : 두 개 이상의 테이블을 결합할 때 사용하는 조건 Primary Key 기본키(PK) 테이블의 각 행들을 구분하기 위한 식별값으로 쓰이는 컬럼 기본키 무결성 원칙 해당 컬럼은 테이블에서 고유한 값이어야 한다. - UNIQUE 해당 컬럼은 NULL 값을 가질 수 없다. NOT NULL Foreign Key 외래키(FK) 다른 테이블의 컬럼을 참조하고 있는 컬럼 다른 테이블의 Primary Key를 참조한다. 외래키 무결성 원칙 참조 테이블에 기본키가 존재하는 값만 가질 수 있다. 조인의 문법 종류 오라클 전용 문법 ANSI 표준 문법 A..
[Oracle] 오라클에 존재하는 Merge 문법
·
Database/Oracle
DML MERGE 오라클 전용 문법 SELECT 수행 결과에 따라 UPDATE 또는 DELETE 또는 INSERT 를 수행한다. SELECT 조회 결과가 '존재하면' UPDATE 또는 DELETE 수행한다. SELECT 조회 결과가 '존재하지' 않으면 INSERT 를 수행한다. -- MERGE 구문 형식 MERGE INTO TABLENAME USING ( SELECT 절 - 인라인 뷰(서브 쿼리) ) ON (조건절) WHEN MATCHED THEN 구문 WHEN NOT MATCHED THEN 구문; -- INTO : 삽입, 갱신, 삭제가 이루어지는 테이블 -- USING : 조건 비교할 소스테이블 또는 인라인 뷰(서브쿼리) -- ON : WHEN 절에서 반응하는 조건을 부여하..
[HTML5] 프론트단의 기본인 HTML 태그 기본 영역
·
FrontEnd/HTML
태그의 기본 영역(레이아웃) 속성 block div(division) h1~h6 p ol ul 등 block의 요소들은 한 줄 전부를 차지하는 영역 속성을 가지고 있다. 화면에서 일부 영역을 차지하면서 구역 설정을 담당한다. 화면의 전체적인 구조를 구성할 때 사용된다. inline span a img 내용물(컨텐츠)의 영역을 나타내는 속성, 컨텐츠를 표현하기 위한 태그로 사용된다. block 요소의 내부에 포함시켜 작성한다. 태그없이 사용된 단순 텍스트도 inline 요소처럼 처리한다. 글자 관련 태그 h1 ~ h6 heading 태그라고 한다. 제목 표현 태그 h1이 제일 크고 h6로 갈수록 작아진다. p Paragraph의 약자 문단을 표현하는 태그이다. 공백문자(띄어쓰기, 탭, 개행)이 개별적으로 ..
[Java] 자바 간단하고도 어려운 서블릿에 대해서
·
BackEnd/Java
서블릿의 동작 원리 클라이언트 요청 -> Apache Tomcat 서버(WEB + WAS) -> 서블릿 컨테이너 -> 서블릿 객체 -> service() 호출 -> doGet() 또는 doPost() 호출 -> 서블릿 컨테이너 -> Apache Tomcat 서버 -> 클라이언트 응답 서블릿 컨테이너, Servlet Container 서블릿 처리(동작) 환경을 구축하는 역할 서블릿을 생성하고 실행시켜주는 역할을 수행한다. WAS서버와 서블릿 객체 사이의 중간다리 역할을 수행한다. HttpServletRequest(HTTP 요청객체), HttpServletResponse(HTTP 응답객체) 두 가지를 생성하여 서블릿에 전달한다. 요청 URL-Pattern과 서블릿 객체를 1:1로 따로 매핑해놓고 요청을 기다..
[Java] 자바 웹 서버 세션에 대해서
·
BackEnd/Java
세션, Session 서버가 클라이언트의 요청을 식별하는 방법 javax.servlet.http.HttpSession 객체를 사용한다 request(요청객체)를 통해서 HttpSession 객체를 얻어와 사용하게 된다 ex) HttpSession session = request.getSession(); 서버가 사용자의 정보를 유지하기 위한 기술 ex) 로그인 상태 쿠키보다 상태 정보에 대한 유지력, 보안성이 좋다 쿠키 정보는 클라이언트에 저장되고, 언제든 지워질 위험이 있다 세션 정보는 서버가 관리한다 클라이언트(브라우저) 별로 따로 관리한다 세션 정보는 기본적으로 메모리로 관리한다 세션의 동작 원리 클라이언트의 요청(첫 접속)이 들어오면 서버는 Session ID 를 생성한다. 서버가 응답하면서 Set..
헌일
오늘 할 일은 내일로 미루고 내일 할 일은 생각하지 말자