전체 글 46

TreeMap

TreeMap TreeMap은 이진트리를 기반으로 한 Map 컬렉션입니다. 같은 Tree 구조로 이루어진 TreeSet 과의 차이점은 TreeSet 은 그냥 값만 저장한다면 TreeMap은 키와 값이 저장된 Map, Entry 를 저장한다는 점입니다. TreeMap 에 객체를 저장하면 자동으로 정렬되는데, 키는 저장과 동시에 자동 오름차순으로 정렬되고 숫자 타입일 경우에는 값으로, 문자열 타입일 경우에는 유니코드로 정렬합니다. 정렬 순서는 기본적으로 부모 키값과 비교해서 키 값이 낮은 것은 왼쪽 자식 노드에 키 값이 높은 것은 오른쪽 자식 노드에 Map, Entry 객체를 저장합니다. TreeMap 은 일반적으로 Map으로써의 성능이 HashMap 보다 떨어집니다. TreeMap은 데이터를 저장할때 즉시..

간단용어 2021.03.28

Map 과 HashMap 차이

Map 과 HashMap 의 차이를 알아보자. 둘의 가장 큰 차이는 특정 키에 대한 값을 찾는 과정에서, Hash_Map 은 이름 그대로 Hash Table 을 이용해서 키-값 관계를 유지하며, Map 은 red-black tree 알고리즘을 이용한다. Map Map 은 Key 와 Value 를 가진 집합이며, 중복을 허용하지 않는다. 즉, 한개의 Key에 한개의 Value 가 매칭된다. Java.util 패키지에 여러 집합들을 사용하기 위한 여러 Interface 와 class 들이 정의되어 있다. Map은 키(Key)와 값(Value)으로 이루어진 데이터의 집합이다. 순서는 유지되지 않으며, 키는 중복을 허락하지 않는다. Map의 클래스로는 TreeMap, HashTable, HashMap등이 있다...

간단용어 2021.03.22

3주차 : 연산자

연산자 ( Operator ) : 연산을 수행하는 기호 * 피연산자 : 연산자의 작업 대상 * 단항 연산자 : 피연산자를 하나만 받는 받는 연산자는 단항(Unary) 연산자라고 부릅니다. 피연산자의 부호를 뒤집는 단항 마이너스 연산자가 단항 연산자의 대표적인 예 입니다. * 이항 연산자 : 두 개의 피연산자를 받는 연산자는 이항(Binary) 연산자라고 부릅니다. 산술 연산자 산술 연산자 (Arithmetic Operator) 는 정수, 부동소수점, 문자열 등 Boolean 타입을 제외한 모든 Primitive Type 에서 사용이 가능합니다. 피연산자들 중 부동소수점이 있다면 부동소수점 산술이 되고 그렇지 않다면 정수 산술이 됩니다. 정수 산술과 부동 소수점 산술이 나누기를 수행하는 방식과 언더플로우(..

Live-Study 2021.03.20

CI/CD( 지속적 통합 / 지속적 제공 )

CI : 지속적인 통합 (Continuous Integration ) CD : 지속적인 서비스 제공 ( Continuous Delivery ) 또는 지속적인 배포 (Continuos Deployment) 를 의미 CI/CD 는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD 의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다. CI/CD 는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제 ( 일명 : Integration hell ) 을 해결하기 위한 솔루션. 'CI' 개발자를 위한 자동화 프로세스인 지속적인 통합 (Continuous Integration ) 을 의미. CI 를 성공적으로 구현할 경우 애플리케..

간단용어 2021.03.17

SimpleDateFormat , Calendar

Java - SimpleDateFormat Java 에서 날짜 형식을 표현해 주는것 ! 위에 첨부된 이미지 처럼 처음 format 만 출력시에는 리턴 값이 String 타입이 아니여서 확인할 수 없다. format 인자값에 Date 생성자를 굳이 생성안하고 아래 이미지 처럼 바로 넣어줘도 상관없다 ! .format(Date) format 형식에는 인자값에 Date 타입을 .parse(String) parse 형식에는 인자값에 String 타입을 넣어줘야 한다 ! parse 의 특징 ! 위와 같이 parse는 단독으로 사용하면 Compile 오류가 발생 ! Try Catch 문 안에서 해줘야지 오류가 발생 안한다 ! Calendar Calendar 클래스도 Date 클래스처럼 날짜와 시간에 관한 정보를 표..

간단용어 2021.03.14

@NoArgsConstructor(AccessLevel.PROTECTED) 와 @Builder

cobbybb.tistory.com/14 @NoargsConstructor(AccessLevel.PROTECTED) 와 @Builder @NoargsConstructor(AccessLevel.PROTECTED) 와 @Builder를 함께 사용할때 주의할 점에 대해서 서술합니다. "왜" 안되는지와 "왜" 이렇게 해결 할 수 있는지에 대해 집중하여 서술합니다. 1. 왜 NoargsConstructor.. cobbybb.tistory.com @NoArgsConstructor 파라미터가 없는 생성자를 생성해주는 어노테이션. 주의점 필드들이 FINAL 로 생성되어 있는 경우에는 필드를 초기화 할 수 없기 때문에 생성자를 만들 수 없고 에러가 발생하게 된다. 이때는 @NoArgsConstructor(force = ..

간단용어 2021.03.11

Lombok

Lombok(롬북) 이란 ? Java 라이브러리로 반복되는 Getter, Setter, toString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리입니다. 보통 Model 클래스나 Entity 같은 도메인 클래스 등에는 수많은 멤버변수가 있고 이에 대응되는 gettier 와 setter 그리고 toString() 메서드 그리고 때에 따라서는 멤버변수에 따른 여러개의 생성자를 만들어주게 되는데, 거의 대부분 이클립스같은 IDE의 힘만으로 생성한다고 하지만 이 역시도 번거로운 작업이 될 수 있습니다. 뿐만 아니라 코드 자체가 반복되는 메서드로 인해 매우 복잡해지게 됩니다. Lombok 은 여러가지 어노테이션은 제공하고 이를 기반으로 코드를 컴파일과정에서 생성해 주는 방식으로 동작하는 라이브러리..

간단용어 2021.03.11

2주차 : Java 데이터 타입, 변수 그리고 배열

1. 원시 or 기본형 타입 ( Primitive type ) 종류와 값의 범위 그리고 기본 값 기본 값이 있기 때문에 NULL 이 존재하지 않는다. 만약 기본형 타입에 NULL 을 넣고 싶다면 래퍼 클래스를 활용한다. 실제 값을 저장하는 공간으로 스택(Stack) 메모리에 저장된다. 만약 컴파일 시점에 담을 수 있는 크기를 벗어나면 에러를 발생시키는 컴파일 에러가 발생한다. 주로 문법상의 에러가 많다. 종류 2. 참조 타입 ( Reference Type ) 기본형 타입을 제외한 타입들이 모두 참조형 타입(Reference Type) 이다. 빈 객체를 의미하는 NULL이 존재 한다 값이 저장되어 있는 곳의 주소 값을 저장하는 공간으로 힙(Heap) 메모리에 저장된다. 문법상으로는 에러가 없지만 실행시켰을..

Live-Study 2021.03.07

String, String Builder, String Buffer

Java 를 개발하다보면 String 에 대해서 별다른 고민없이 ("Some text" + "added text ") 와 같이 '+' 기호를 통해 스트링을 더하곤 한다. 하지만, Java 개발잘면 고민을 더 해보고 class 를 선택해야 한다. String 과 String Builder, String Buffer 를 어떤 경우에 사용해야 하는지 알아보자. !! 위에서 보는바와 같이 된 생성된 클래스의 주소값이 다른 것을 볼 수 있다. String 은 새로운 값을 할당할 때마다 새로 생성되기 때문이다. 이와 달리 StringBuffer 와 StringBuilder 는 memory 에 append 하는 방식으로 클래스를 직접생성하지 않는다. 논리적으로 따져보면 클래스가 생성될 때 Method 들과 Varia..

간단용어 2021.03.07