간단용어 22

호이스팅, var 과 let 차이

호이스팅 JavaScript 에서 호이스팅 ( hoisting ) 이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미. var 로 선언한 변수의 경우 호이스팅시 undefined 로 변수를 초기화 한다. 반면, let 과 const 로 선언한 변수의 경우 호이스팅시 변수를 초기화하지 않습니다. function catName(name) { console.log("제 고양이의 이름은 " + name + "입니다"); } catName("호랑이"); /* 결과: "제 고양이의 이름은 호랑이입니다" */ 기술 예제 : 일반적은 코드 사용 예제 catName("클로이"); function catName(name) { console.log("제 고양이의 이름은 " + name + "..

간단용어 2022.01.01

스택(Stack), 큐(Queue)

스택(STACK) 스택은(stack) 이란 쌓아 올린다는 것을 의미. 따라서 스택 자료구조라는 것은 책을 쌓는 것처럼 차곡차곡 쌓아 올린 형태의 자료 구조를 말한다. * 특징 스택은 위의 사진처럼 같은 구조와 크기의 자료를 정해진 방향으로만 쌓을 수 있고, TOP 으로 정한 곳을 통해서만 접근할 수 있다. 스택은 시간 순서에 따라 자료가 쌓여서 가장 마지막에 추가된 자료가 가장 먼저 삭제된다는 구조적 특징을 가지고 있다. 이러한 스택의 구조를 후입선출 ( Last - In , First - Out ) 구조라고 한다. 큐 ( QUEUE ) queue 의 사전적 의미는 줄, 혹은 줄을 서서 기다리는 것을 의미한다. 놀이동산에서 줄을 서서 기다리듯, 은행에서 먼저 온 사람의 업무를 차욱에서 처리하는 것과 같이..

간단용어 2021.03.28

HashSet

HashSet HashSet 은 Set 인터페이스의 구현 클래스 입니다. 그렇기에 Set의 성질을 그대로 상속받습니다. Set은 객체를 중복해서 저장할 수 없고 하나의 Null 값만 저장할 수 있습니다. 또한 저장 순서가 유지되지 않습니다. 만약 요소의 저장 순서를 유지해야 한다면ㄴLinkedHashSet 클래스를 사용해야 한다. Set 인터페이스를 구현한 클래스로는 HashSet 과 TreeSet 이 있는데, HashSet의 경우 정렬을 해주지 않고 TreeSet 의 경우 자동정렬을 해준다는 차이가 있다. Set의 가장 큰 장점은 중복을 자동으로 제거해준다는 점입니다. Set은 비선형 구조이기에 순서가 없으며 그렇기에 인덱스도 존재하지 않습니다. 그렇기에 값을 추가하거나 삭제할 때에는 내가 추가 혹은 ..

간단용어 2021.03.28

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

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