본문 바로가기
반응형

전체 글123

SQL - Index 인덱스 인덱스 - DB 조회 속도를 향상시키기 위해 컬럼에 적용하는 일종의 목차 인덱스를 사용해야 하는 경우 - 테이블에 데이터가 많을 때 - 컬럼 값의 범위가 넓을 경우 - Where 적 또는 Join 문에 사용되는 컬럼 - 검색결과가 전체 데이터의 2%~4% 이내를 검색하는 경우 - Null을 포함하는 컬럼이 많은 경우 (Null 값은 인덱스에 포함되지 않기에 인덱스의 크기가 줄어든다) 인덱스를 사용하지 않아야 하는 경우 - 테이블에 데이터가 적을 때 - Where 문에 해당 컬럼이 자주 사용되지 않을 때 - 검색 결과가 전체 데이터의 10%~15% 이상을 검색하는 경우 - 테이블에 DML(Data Manipulation Language) 작업이 많은 경우 (인덱스도 변경되어야 하기 때문) - 인덱스가 적용.. 2020. 6. 28.
해시(Hash) & 해시셋(HashSet) & 해시맵(HashMap) 해시(Hash) - 임의의 크기 데이터를 고정크기 데이터로 변환하는 것(해싱) HashTable - Key 값을 해시 함수로 계산(해싱)해서 배열의 인덱스를 저장 - 데이터가 저장되는 공간을 "버킷", "슬롯" 이라 함 - 키 전체 개수와 깉은 크기의 버킷을 가진 테이블을 Direct-adress table 이라 함 (충돌이 일어나지 않지만 공간 효율성 하락) HashTable과 HashMap 공통점 - 내부적으로 H ash 공법 사용 - Map 인터페이스 구현 - Key 와 Value 값 가짐 차이점 HashTable - 동기화 보장 O HashMap - 동기화 보장 X HashSet - 내부적으로 Hash 공법 사용하지만, Set인터페이스 구현(중복 X) 2020. 6. 28.
AOP - 어드바이스(Advice) & 인터셉터(Intercepter) AOP(Aspect Oriented Programing) - 요청에 따른 처리를 하다보면 공통적인 처리부분이 있다. 예를들어 모든 트랜잭션이 종료된 후 로깅이란 과정을 반드시 수행한다고 했을 때 로깅 수행은 트랜잭션에 상관없이 공통적으로 수행되는 부분이다. 이와같이 프로그램을 횡단하는 곳에 나타나는 공통적인 코드를 횡단적 관심사(Crosscutting Concern)이라고 한다 공통된 부분을 모듈화(클래스로 생성)하고 호출코드만으로 사용한다. AOP는 호출코드까지 생략시켜 완전한 코드의 분리를 만든다. 필터(Servlet filter) - 스프링 프레임워크와 무관하게 지정된 자원에 대해 동작 - 스프링은 Dispatcher Servlet 으로부터 시작되므로 필터는 스프링 컨텍스트 밖에 존재(스프링과 관계.. 2020. 6. 28.
ORM(Object-Relational Mapping), JPA(Java Persistence API) ORM - 객체는 객체대로, 관계형DB는 DB 대로 설계를 따로 함 - ORM은 객체와 RDB 두 기둥 위에 있는 기술 JPA - ORM 기술 표준 - 인터페이스의 모음 JPA의 유지보수 측면 - 기존 : 필드 변경시 모든 SQL을 수정해야 함 - JPA : 필드만 추가하면 JPA가 알아서 SQL을 수정함 특징 - 객체 그래프를 완전히 자유롭게 탐색 가능 - 지연로딩 전략(Lazy Loading) 사용 -> 객체를 사용하는 시점에 SELECT 쿼리로 객체를 가져오는 전략 - 트랜잭션을 커밋하기 전까지 메모리에 INSERT 쿼리를 쌓음 작동순서 개발자가 JAVA 어플리케이션에서 JPA 사용 - JPA 내부에서 JDBC API를 사용 - SQL 호출 - DB와 통신 2020. 6. 28.
JAVA SE 와 JAVA EE JAVA SE (Java Standard Edition) 자바 표준 에디션은 가장 기본이 되는 에디션입니다.흔히 자바 언어라고 하는 대부분의 패키지가 포함된 에디션 주요 패키지로는 java.lang.*, java.io.*, java.util.*, java.awt.*, javax.rmi.*, javax.net.* 등 JAVA EE (Java Enterprise Edition) 자바로 구현되는 웹프로그래밍에서 가장 많이 사용되는 JSP, Servlet을 비롯하여, 데이터베이스에 연동하는 JDBC, JNDI, JTA, EJB 등의 많은 기술들이 포함 Java EE는 Java SE의 API에 추가로(lib 디렉토리에 포함되어 있는 JAR파일들)의 차이 출처: https://210life.tistory.com/e.. 2020. 6. 25.
파이썬 모듈 모듈이란 함수의 집합을 뜻함. 모듈을 임포트할 때 쓰지않는 기능을 포함한 모든기능을 임포트하는 것은 비효율적이므로 필요한 함수만 임포트할 수 있다 함수의 이름을 정해주면 이름을 새로 붙이기 전 이름은 사용할 수 없고 새로 지정한 이름으로 함수를 사용해야 한다. * print() 함수는 파라미터(인수)를 무한으로 입력받을 수 있다 2020. 6. 8.
파이썬 반복문 - for in 2020. 6. 8.
파이썬 조건문 - if else and or not if 의 조건은 if 바로 옆에 작성한다 is 키워드는 값의 데이터타입(object identity)을 비교할 때 사용한다 or 이나 and 로 여러 조건을 묶을 수 있다 조건이 충족됐을 때 실행할 코드는 조건문 뒤 : (콜론) 다음에 들여쓰기로 작성한다 else 는 if 키워드와 같은 들여쓰기 위치에 작성한다 끝에 : (콜론) 을 반드시 써준다 else if 2020. 6. 8.
파이썬 함수(Function) - arguments, 리턴, keyworded arguments 파이썬에선 { } 으로 처음과 끝을 구분하는 것이 아닌 들여쓰기를 이용해서 함수(Function)의 처음과 끝을 구분한다. say_hello() 함수 밑에 들여쓰기를 하지 않고 코드를 작성하면 say_hello()를 호출했을 때 수행되지 않는다. Function Arguments (파라미터, 인수) Return 리턴 함수의 마지막에 return 키워드를 사용해서 리턴한다. Keyworded Arguments 파이썬의 특징 중 하나. 변수는 { } 으로 감싸서 값이 올바르게 출력되도록 한다. 또는, 2020. 6. 8.
반응형