일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 반려견 유기농
- 쿠팡매크로
- 신포동 맛집
- 동인천 맛집
- 강아지 종류
- 샤로수길 데이트
- 강아지 더위
- 티켓팅매크로
- 강아지 홀리스틱
- 반려견
- 강아지 유기농
- 홀리스틱 유기농
- 서울대입구 맛집
- 반려견 사료등급
- 반려견 홀리스틱
- 강아지 유기농 사료
- 국비지원 예습
- 티켓팅메크로
- 자동화봇
- 닥스훈트
- 부산 맛집
- 강아지종류
- 강아지
- 강아지 열사병
- 샤로수길 맛집
- 반려견 유기농 사료
- 쿠팡메크로
- 반려견 더위
- 반려견 열사병
- 반려견 종류
- Today
- Total
목록코딩일기 (99)
심심한잉여의 잡동사니
DTO와 VO에 대해 같은 것을 나타내는 것이라 생각을 했으나 이 둘의 용도차이가 있었다. 그 차이가 무엇인지 알아보자 DTO란? 순수하게 데이터를 담아 계층간으로 전달하는 객체 로직을 갖고 있지 않은 순수한 데이터 객체이며 메소드로는 getter/setter 만을 갖는다. 여기서 getter/setter 이외의 다른 로직이 필요 없는 이유를 자세히 알아보자면, 만약 DTO가 데이터를 전달만을 위한 객체라고 했을 때 완전히 데이터 전달 용도로만 사용하기 때문에 getter/setter로직 외의 다른 로직이 필요 없기 때문 public class UserDTO { private String name; private String id; public String getName() { return name; }..
버블 정렬은 인접한 두 값을 비교하면서 정렬해 나가는 방법 선택 정렬과 비슷하지만 연산을 끝까지 하지 않고 바로 옆의 값과 연산을 해서 작은 데이터를 왼쪽으로 위치 시키는 방법이다. 이렇게 연산을 하는 경우 버블 정렬을 한 번 실행할 때 마다 가장 큰 값이 데이터의 오른쪽에 위치하게 된다. public class BubbleSort { public static void main(String[] args) { int[] arr = { 2, 4, 6, 1, 66 }; int temp = 0; for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length; j++) { if (arr[i] == arr[j]) { continue; } if (..
메이븐(Maven)이란? 자바용 프로젝트 관리 도구이다. 아파치 앤트의 대안으로 만들어 졌으며, 아파치 라이센스로 배포되는 라이브러리를 관리해주는 오픈 소스이다. 특징은 네트워크를 통해 라이브러리를 관리해주기 때문에 과거에 일일히 수동으로 다 업데이트 혹은 연결 시켜주던 것을 자동으로 해주는 것이다. 4.0.0 org.springframework.boot spring-boot-starter-parent 2.6.4 com.kh Basic 0.1 Basic Test 11 org.springframework.boot spring-boot-starter-data-jdbc org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot ..
선택 정렬 알고리즘 public class SelectionSort { public static void main(String[] args) { int[] tab = {1,5,11,2,100}; for(int i=0;i
인덱스(Index)란? 인덱스는 관계형 데이터베이스(RDBMS)에서 검색 속도를 높이기 위한 기술이다. 테이블의 컬럼을 색인화(따로 파일로 저장)하여 검색 시 해당 테이블의 레코드를 Full Scan하는게 아닌 색인화 되어있는 Index 파일을 검색하여 검색속도를 향상시킨다. RDBMS에서 사용하는 인덱스는 B-Tree 에서 파생된 B+Tree를 사용해서 색인화를 한다. 보통 SELECT 쿼리의 WHERE절이나 JOIN 예약어를 사용했을 때 인덱스가 사용되며 SELECT 쿼리의 검색 속도를 빠르게 하는데 목적을 두고 있다. DELETE, INSERT, UPDATE 쿼리에는 해당 사항이 없으며 인덱스 사용시 오히려 느려진다. 조금 더 자세히 알아보면, SQL서버에서 데이터의 레코드는 내부적으로 아무런 순서..
정규화란? - 정규화는 데이터의 일관성, 최소한의 데이터 중복, 최소한의 데이터 유연성을 위한 방법이며 데이터를 분해하는 과정이다. - 정규화된 모델은 테이블이 분해된다. 테이블이 분해되면 직원 테이블과 부서 테이블 간에 부서코드로 조인(JOIN)을 수행하며 하나의 합집합으로 만들 수 있다. - 정규화를 하면 불필요한 데이터를 입력하지 않아도 되기 때문에 중복데이터가 제거된다. 제 1 정규화 - 속성의 원자성을 확보 - 속성의 중복값을 제거한다. - 기본키를 설정한다. 제 2 정규화 - 기본키가 2개 이상의 속성으로 이루어진 경우, 부분 함수 종속성을 제거한다. - 부분 함수 종속성이란, 기본키가 2개 이상인 컬럼으로 이루어진 경우에만 발생한다. 기본키가 1개이면 이 과정을 스킵한다. - 복합 인스턴스에..
필터(Filter)란? 디스패처 서블릿에 요청이 전달되기 전/후에 URI패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 있는 기능을 제공하는 것 디스패처서블릿은 스프링의 가장 앞단에 존재하는 프론트 컨트롤러로서 필터는 스프링 범위 밖에서 처리가 되는 것 즉, 스프링 컨테이너가 아닌 톰캣과 같은 웹 컨테이너에서 관리 되는 것, 디스패처 서블릿 전/후에 처리하는 것 필터의 메소드 1. init 메소드 - init메소드는 필터 객체를 초기화하고 서비스에 추가하기 위한 메소드, 웹 컨테이너가 1회 init 메소드를 호출하여 필터 객체를 초기화하면 이후의 요청들은 doFilter를 통해 처리된다. 2. doFilter 메소드 - doFilter메소드는 URI패턴에 맞는 모든 HTTP 요청이 디스패처 서블릿으로..
싱글톤이란, 어떤 클래스의 인스턴스 개수가 최대 한 개를 넘지 않도록 하는 패턴 이 인스턴스는 공유자원으로서 중심의 역할을 한다. 장점 1. 메모리 낭비 방지 : 한번의 인스턴스 생성으로 인해 낭비방지 2. 전역 인스턴스이므로, 다른 클래스의 인스턴스에서 데이터 공유가 용이 3. 두번째 호출 시 객체 로딩시간이 줄어 성능 향상 주의점 멀티쓰레드 환경에서는 동시에 객체 생성 유무를 체크 -> 하나의 객체만 생성해야됨 단점 1. 싱글톤을 사용하여 여러곳에서 효과적으로 호출할 수 있어서 편하지만 결과적으로는 영향이 커져 변경 시 다른부분에서도 영향을 미치게 될 수 있음 -> 설계에 제약이 생김 2. 초기화 시점을 제어할 수 없음 -> 멀티쓰레드에서 명시적 초기화가 필요한 경우, 쓰레딩 문제를 예방하기 위해 다..