본문 바로가기

전체 글

(18)
[ORACLE] 오라클 Table Full Scan VS Index Range Scan 테이블의 데이터를 읽는 방식으로는 크게 2가지로 나뉜다.   Full Table Scan : 테이블 전체를 스캔해서 읽는 방식 Index Range Scan : 인덱스를 이용해서 읽는 방식 Full Table Scan 이란 ?시퀀셜 액세스와 Multiblock I/O 방식으로 디스크 블록을 읽는다.한 블록에 속한 모든 레코드를 한 번에 읽어 들이고, 캐시에서 못 찾으면 '한 번의 수면(I/O Call)을 통해 인접한 수십~수백 개의 블록을 한꺼번에 I/O하는 메커니즘이다.이 방식을 사용하는 SQL 은 스토리지 스캔 성능이 좋아지는 만큼 성능도 좋아진다.BUT 시퀀셜 액세스와 multiblock i/o 가 아무리 좋아도수십~수백 건의 "소량" 데이터를 찾을 때 수백만~수천만 건 데이터를 스캔하는 것은 비효..
[JAVA] Inner Class 란?(내부 클래스) 내부 클래스 (Inner Class)클래스 내에 선언된 또다른 클래스를 내부 클래스라고 부른다.외부 클래스와 내부 클래스가 서로 연관되어 있을 때 사용한다.내부 클래스를 사용하면 외부 클래스의 멤버들에 쉽게 접근할 수 있다.내부 클래스는 외부 클래스 안에 선언하여 사용한다는 점을 제외하면 일반 클래스와 큰 차이점이 없다.즉, 외부 클래스와 내부 클래스가 연관되어 있을 때, 사용성을 높이기 위한 수단이다.또한, 불필요한 데이터를 감출 수 있어 캡슐화(Encapsulation)를 하는데 유용하다. 내부 클래스 장점클래스를 논리적으로 그룹화 할 수 있다.더욱 타이트한 캡슐화의 적용이 가능하다.가독성이 좋고 유지 관리가 쉬운 코드가 된다. 내부 클래스의 분류내부 클래스는 인스턴스 내부 클래스, 정적 내부 클래스..
[JAVA] Spring 어노테이션 @SuppressWarnings 이란? @SuppressWarnings 이란? 컴파일 경고를 사용하지 않도록 설정해주는 것으로이클립스에서 노란색 표시줄이 나타날 때 해당 어노테이션을 사용함으로 노란줄을 없앨 수 있다.즉, 경고를 제외시킬 때 사용한다.        (= 컴파일러가 경고하는 내용 중 "이 내용은 경고하지마"라며 제외 할 때 사용 하는 것)        + 이클립스에서 노란색 표시줄이 나타나는 이유?            1. 변수 선언 하였지만 사용하지 않았을 때            2.  스크립트나 구문이 버전이 맞지 않을 때            3. 버그를 발생할 수 있는 코드나 권장하지 않는 코딩을 할 때            그 외 문법상의 문제가 없는 경우에도 불구하고 나타날때도 있다. @SuppressWarnings 사용..
[JAVA] Map을 구현하는 클래스 종류 자바 컬렉션 프레임워크 _ Map 인터페이스  1. HashMapMap 컬렉션 클래스에서 가장 많이 사용되는 클래스이다.Map의 특징처럼 키와 값을 묶어서 하나의 데이터(entry)로 저장한다.해싱(hasing)을 사용하기에 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을 보인다.HashMap은 키(key)와 값(value)에 null을 허용한다.동기화를 보장하지 않는다.동기화 처리를 하지 않기 때문에 검색속도가 빠르다. But 신뢰성과 안정성이 떨어진다.싱글 쓰레드 환경에서 사용하는 것이 좋다. ( thread-safe하지 않기 때문)  2. HashTableHashMap 클래스와 같은 동작을 하는 클래스이다.키와 값에 null을 허용하지 않는다.동기화를 보장한다.멀티 쓰레드 환경에서 사용할 수 있..
[JAVA] MAP과 HASH MAP의 차이? Map이란? - Map은 자바에서 키(key)와 값(value)을 저장하는 데이터 구조를 표현하는 인터페이스이다.  (= Map 인터페이스라고 불린다.) - 키와 값의 쌍을 '매핑(Mapping)'이라고 부른다.  - Map 인터페이스는 여러 구현체가 있으며, 그중 하나가 Hash Map 이다.   (Map 인터페이스의 여러 구현체 : Hash Map, Tree Map, Linked Hash Map 등)   Hash Map 이란? - Hash Map은 Map인터페이스를 구현한 클래스이며, 해시 테이블을 사용하여 키와 값을 저장한다. - 키와 값을 둘 다 null일 수 있으며, Hash Map은 키 중복을 허용하지 않지만 값의 중복은 허용한다. - Hash Map은 삽입순서를 유지하지 않는다. 대신 해시 ..
CORS란 ? CORS 알기전에 알고가야할 지식 SOP(Same Origin Policy).- 다른 출처의 리소스를 사용하는것에 제한하는 보안방식이다.   > 출처란?    url의 protocol, host, port를 통해 같은 출처 또는 다른 출처인지 확인이 가능하다.세가지가 다 같아야지만 같은 출처라고 보고, 그중 하나라도 다르면 다른 출처이다.프로토콜: http와 https는 프로토콜이 다르다.도메인 google.com과 other-google.com은 다르다.포트번호 8080포트와 3000포트는 다르다,같은 오리진 길이만 데이터를 송수신 하고자 한다 라는 것이 SOP(Same Origin Policy) 라는 것이다. CORS란 ?Cross-Origin Resource Sharing 다른 출처의 자원을 공유...
[JAVA] Maven 이란? Maven이란?라이프 사이클 종류플러그 인의존성(dependency)pom.xmlMaven디렉터리 구조 Maven 이란?  : 자바용 프로젝트 관리 도구. + Maven은 앞서 빌드에 대해서 알아볼 때 나왔던 빌드 툴 중 하나이다.  오늘은 자주 사용하고 있는 Maven에 대해 조금 더 자세히 알아봅시다.  Maven- Maven은 Apache사에서 만든 빌드 툴(build tool)이다.- pom.xml파일을 통해 정형화된 빌드 시스템으로 프로젝트 관리를 해준다.- 프로젝트의 전체적인 라이프 사이클을 관리한다.   Maven Life Cycle  및 종류Life Cycle ? Maven은 프레임워크 이기 때문에 동작 방식이 정해져 있고, 미리 정의하고 있는 빌드 순서가 있다. 이를 라이프 사이클(Lif..
[JAVA] Public Class 꼭 사용하는 이유? (feat. Public Class VS Class) 스터디 주제를 정하기 위해 서칭하는 중 'Public Class 꼭 사용하는 이유가 무엇일까 ?' 라는 글을 보게 되었다. 명확한 해답이 나와있지는 않았지만 궁금해져서 스터디 주제로 넣어보기로 했다. ♥ Public Class 꼭 사용하는 이유? 간단하게 말해 외부에 노출하고 싶은 class를 public class로 지정한다. (pubic 접근 제한자 특성) 객체 지향에서는 하나의 클래스 보다 작은 열개의 클래스가 더 좋은 경우가 많다. Main 부분에서 Public Class를 가져다 사용함으로 모든 클래스를 활용할 수 있게 만드는것이다. ♥ Public Class VS Class 두개의 차이점은 무엇인가? Public Class의 이름은 파일명과 동일해야하며, Class는 파일명과 동일하지 않아도 ..