본문 바로가기

프로그래밍/Java

(15)
[JavaScript 요약 정리] 17. 쿠키와 저장소 17. 쿠키와 저장소1) 쿠키- 키와 값이 들어있는 데이터 조각- 이름, 값, 파기 날짜, 경로 정보 존재 2) 쿠키 생성- document.cookie = 'Name=Value;Expires=만료;Domain=도메인;Path=경로;Secure';Name, Value: 데이터를 저장하고 읽는데 사용하는 속성 // 필수Expires: 쿠키의 파기 날짜 (GMT 혹은 UTC 형식 날짜 입력) // 미입력: 브라우저 종료시 파기Secure: 쿠키의 보안 연결 여부 3) 쿠키 제거- Expires 속성을 현재 이전의 날짜로 설정 4) 쿠키 읽기- 쿠키 읽기 예시var cookies = document.cookie.split(';');var value = '';for(i in cookies) {if(cookies..
[JavaScript 요약 정리] 14. 이벤트(Event) 14. 이벤트(Event)1) 이벤트(Event)- 웹브라우저가 사용자와 상호작용 할 수 있도록 이벤트를 설정- 웹 브라우저마다 이벤트 사용 방식이 다르기 때문에 JQuery등의 보완 라이브러리 사용 - 종류: 마우스, 키보드, HTML 프레임, HTML 입력양식, 유저 인터페이스, 구조 변화, 터치 - 용어이벤트 이름 or 이벤트 타입 -> 이벤트의 이름이벤트 리스너 or 이벤트 핸들러 -> 특정 요소의 이벤트 속성에 연결된 함수이벤트 속성 -> 특정 요소에 이벤트를 직접 연결할 때 사용하는 속성기본 이벤트 -> 요소 자체가 내장한 이벤트이벤트 모델 -> 이벤트를 연결하는 방법 - 이벤트 모델의 종류DOM Level 0 : 인라인 이벤트 모델, 기본 이벤트 모델DOM Level 2 : IE 이벤트 모델..
[Java 요약 정리] 13. AWT(Abstract Window Toolkit) 1. AWT(Abstract Window Toolkit) 1) AWT란?- GUI프로그래밍(윈도우 프로그래밍)을 위한 도구- Java로 구현하지 않고 OS의 컴포넌트를 그대로 사용(OS 종속적) 2) Swing- AWT를 확장한 GUI프로그래밍 도구- AWT보다 더 많은 종류의 컴포넌트 제공- OS의 컴포넌트를 사용하지 않고 Ja로 구현 3) AWT의 구성- AWT관련 패키지는 모두 java.awt로 시작- AWT컴포넌트의 최상위 조상은 java.awt.Component 클래스(메뉴 관련 컴포넌트 제외) 4) Container- 다른 컴포넌트를 포함할 수 있는 컴포넌트- 독립적인 컨테이너: 독립 사용 가능, 다른 컴포넌트나 종속적 컨테이너를 포함 가능- 종속적인 컨테이너: 독립 사용 불가(다른 컨테이너에..
[Java 요약 정리] 12. 입출력(I/O) 1. 입출력(I/O)1) 입출력(I/O)과 스트림(Stream)- 입출력: 두 대상 간의 데이터를 주고 받는 것- 스트림: 데이터를 운반(입출력)하는데 사용되는 연결 통로- 하나의 스트림으로 입출력을 동시 수행 불가(동시 수행 시 2개의 스트림 필요)- Binary 파일: 있는 그대로 저장된 파일- Text 파일: 문자로 저장된 파일 2) 바이트 기반 스트림(InputStream, OutputStream)- 데이터를 바이트(Byte)단위로 주고 받는다.- Input스트림과 OutputStream으로 구분- abstract int read() abstract void write(int b)- int read(byte[] b) void write(byte[] b)- int read(byte[] b, int ..
[Java 요약 정리] 11. 스트림(Stream) 11. 스트림(Stream) 1) 스트림이란?- 다양한 데이터 소스를 통일된 방법으로 다루기 위한 것- 스트림이 제공하는 기능: 중간연산, 최종 연산- 과정: 스트림 생성 -> 중간연산 -> 최종연산 2) 스트림의 특징- 스트림은 데이터 소스로부터 데이터를 읽기만할 뿐 변경하지 않음(원본 유지)- 스트림은 Iterator처럼 일회용(필요시 스트림 재 생성해서 사용)- 최종 연산 전까지 중간연산 미수행(지연된 연산)- 작업을 내부 반복으로 처리한다.- 작업을 병렬처리한다. (병렬 스트림)*기본형 스트림(IntStream, LongStream, DoubleStream)- 오토박싱&언박싱의 비효율 제거됨(Stream 대신 IntStream사용)- 숫자와 관련된 유용한 메소드를 Stream보다 많이 제공 3) ..
[Java 요약 정리] 10. 람다식(Lambda Expression) 10. 람다(Lambda) 1) 람다식이란?- 함수를 간단한 식(Expression)으로 표현하는 방법- 익명함수(Anonymous function): 이름이 없는 함수- 메소드는 클래스에 종속적이지만 함수는 클래스에 독립적 2) 람다식 작성하기- 메소드의 이름과 반환타입을 제거하고 '->' 를 블록{} 앞에 추가ex) int max(int a, int b) { return a > b ? a : b; } => (int a, int b) -> { return a > b ? a : b }- 반환값이 있는 경우, 식이나 값만 적고 return문 생략 가능(끝에 ; 안붙임)ex) (int a, int b) -> { return a > b ? a : b } => (int a, int b) -> a > b ? a ..
[Java 요약 정리] 9. 쓰레드(Thread) 9. 쓰레드(Thread) 1) 프로세스와 쓰레드- 프로그램: 실행 가능한 파일(HDD)- 프로세스: 실행 중인 프로그램(메모리) -> 자원과 쓰레드로 구성- 쓰레드: 프로세스 내 실제 작업 수행, 모든 프로세스는 하나 이상의 쓰레드 보유- 싱글 쓰레드 프로세스: 자원+쓰레드- 멀티 쓰레드 프로세스: 자원+N개의 쓰레드 2) 멀티 쓰레드- 멀티쓰레딩: 하나의 프로세스 내에 여러 개의 쓰레드를 사용하는 것- 장점: 효율적인 자원 사용, 사용자에 대한 응답성 향상, 작업 분리로 인해 간결한 코드- 주의사항: 동기화에 의한 문제 발생, 교착 상태(Dead-Lock), 기아 상태*프로그래밍 고려사항이 많은 게 단점으로 작용할 수 있음- 싱글코어: 순차실행, 병행(Concurrent) // 병행 -> 번갈아가며 ..
[Java 요약 정리] 8. 애너테이션(Annotation) 8. 애너테이션(Annotation)1) 특징- Class 객체를 통해서 활용- Annotation은 모든 애너테이션의 조상(상속 불가)- Annotation은 인터페이스로 정의되어 있음- 초기화 없이 사용할 시 기본값 지정 가능(null 제외)- 요소(애너테이션 내 선언된 메소드)가 value일 경우 이름 생략 가능- 요소 타입이 배열일 경우 {} "" 사용 2) 양식- 생성: @interface 애너테이션명 {반환타입 요소명() default 초기값;}- 사용: @애너테이션명(요소명=요소값) // 초기값 없을때만 지정, value-> 요소명 생략 가능- 애너테이션 메소드는 추상메소드, 적용시 전부 지정해야 함 3) 표준(자바 제공) 애너테이션- @Overide: 오버라이딩 메소드- @Deprecate..