분류 전체보기

자료구조 중 배열(Array)에 대해 정리해보자. 배열(Array)이란? 배열(Array)은 자료구조 중 하나로, 동일한 데이터 타입의 요소들을 연속된 메모리 공간에 저장하는 방법이다. 배열은 인덱스(index)를 사용해 각 요소에 접근할 수 있다. 이러한 특징 때문에 배열은 데이터의 순서를 유지하고, 특정 위치의 요소에 빠르게 접근할 수 있는 장점이 있다. 배열(Array)의 장점 및 단점 장점 빠른 접근 : 배열은 인덱스를 사용하여 요소에 빠르게 접근할 수 있다. 인덱스를 알고 있다면 원하는 위치의 요소에 상수 시간(O(1))에 접근할 수 있다. 메모리 공간의 효율성 : 배열은 연속된 메모리 공간에 요소를 저장하므로, 메모리 공간을 효율적으로 사용할 수 있다. 또한, 요소들은 순서대로 저장되기 때문에..
· DataBase
MySQL에서 쿼리를 사용하다 보면 형변환이 필요할 때가 있다. 데이터 타입이 CHAR인 컬럼을 조회할 때 숫자 타입으로 바꿔서 조회하는 것이 필요한 경우가 있다. 특히 숫자로 이뤄진 컬럼인 줄 알고 정렬을 했는데 1, 11 111, 2, 23, 234, 33, ... 이렇게 정렬되는 경우가 있다. 아마 컬럼의 타입이 INT가 아니라 VARCHAR이기 때문일 것이다. 이때 MySQL에서는 CAST 함수 CONVERT 함수 둘 중 하나를 사용해 데이터 형변환을 할 수 있다. 변환 가능한 데이터 형식은 다음과 같다. BINARY[(N)] CHAR[(N)] [charset_info] DATE DATETIME DECIMAL[(M[,D])] JSON NCHAR[(N)] SIGNED [INTEGER] TIME UN..
· Java
HashMap에서 특정 key가 존재하는지를 확인해야 할 때가 있다. 이 때는 2가지 방법이 있다. Map.containsKey() Map.get() 하단에서 설명하겠지만 두 가지 방법 중 첫번째 방법인 Map.contatinsKey() 메서드를 사용하는 것을 추천한다. 우선 차례로 알아보자. 1. Map.containsKey() Map의 containsKey() 메서드는 파라미터로 입력 받은 값과 일치하는 key가 있으면 true를, 없으면 false를 리턴한다. public boolean containsKey(Object key) import java.util.HashMap; import java.util.Map; public class CheckExistKeyInHashMap { public sta..
· etc.
싱글톤 패턴(Singleton Pattern)이란? 싱글톤 패턴(Singleton Pattern)은 객체 지향 디자인 패턴 중 하나로, 어떤 클래스가 최초 한번만 메모리를 할당하고 그 메모리에 인스턴스를 생성해 이후에는 그 인스턴스를 계속해서 재사용하는 패턴이다. 즉, 해당 클래스의 인스턴스가 오직 하나만 존재하도록 보장한다. 이 패턴은 전역 변수를 사용하는 것보다 안정적이고 유연한 방식으로 하나의 인스턴스를 생성하고 사용할 수 있다. 또한, 동시에 여러 개의 인스턴스를 생성할 경우에 발생할 수 있는 문제를 예방할 수 있다. 싱글톤 패턴은 다양한 상황에서 사용될 수 있으며, 예를 들어 데이터베이스 연결, 로그 파일 생성 등의 기능에서 유용하게 사용된다고 한다. 싱글톤 패턴의 요소 싱글톤 패턴은 일반적으로..
두 번 정도 봤던 에러인데 처음에 에러 원인을 파악해놓고도 두번째 발생했을 때 기억 못하고 또 구글링을 해서 남겨놓는다,, Intelli J에서 Spring Boot를 실행했을 당시에는 아무 문제가 없는데 크롬에서 localhost에 접속했을 때 발생한 에러다. INFO 17151 --- [nio-9090-exec-8] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character f..
오늘은 약 한 달 전쯤 만났던 NoUniqueBeanDefinitionException 해결방법에 대해 드디어 정리해본다. 하나의 interface를 implement하는 class가 2개가 있었고 각각의 class에서 구현부 작성한 뒤 실행시키자 아래와 같은 에러가 발생했다. Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'companyService' defined in file [C:\projects\....\CompanyServic..
· Java
지금까지 List를 생성할 때 대부분 new ArrayList()를 사용했었다. 회사에서 다른 분들의 코드를 보다가 Arrays.asList()를 이용한 부분이 있었고 참고해서 사용했는데, 차이점을 정확히 알고 싶어 정리하고자 한다. 1. 다른 class, 다른 return type 다른 class : new ArrayList()와 Arrays.asList()는 다음과 같이 class가 다르다. // new ArrayList() import java.util.ArrayList; // Arrays.asList() import java.util.Arrays; new ArrayList()는 ArrayList를 Arrays.asList()는 Arrays의 정적 클래스인 ArrayList를 리턴한다. 아래는 Ar..
우선순위 큐(Priority Queue)와 힙(Heap)에 대해 간단히 알아보자. 우선순위 큐(Priority Queue)란? 우선순위가 가장 높은 데이터를 가장 먼저 삭제하는 자료구조이다. 어떤 데이터를 우선순위에 따라 처리하고 싶을 때 사용한다. ex) 상품 데이터를 자료구조에 넣었다가 비싼(가치가 높은) 상품부터 꺼내서 조회할 경우 : 이 때 상품의 가치를 상품과 함께 저장해 추출 시 가치가 높은 상품부터 꺼내도록 한다. 여기서 다시 한 번 스택(Stack), 큐(Queue), 우선순위 큐(Priority Queue) 자료구조를 비교/정리해보고 가자. 자료구조 가장 먼저 추출되는 데이터 스택(Stack) 가장 나중에 삽입된 데이터(후입선출) 큐(Queue) 가장 먼저 삽입된 데이터(선입선출) 우선순..
· Tool
Windows 10 Home에서 Docker를 설치해보자. 사실 몇 달 전 토이 프로젝트를 하며 Docker를 사용하고자 설치를 시도했지만 현재 내 노트북에서는 설치가 안됐었다. 이후로 사용하지 않아 내버려두고 있다가 Docker를 공부하며 사용해보고 싶어 다시 설치를 해보았고 성공했다. 1. Docker 사용 가능 여부 확인하기 Windows에 Docker를 설치하기 위해서는 WSL2나 Hyper-V backend and Windows containers 가 설치되어 있어야 한다. Windows에서 Hyper-V를 지원해주는지 확인하기 위해서는 시스템 - 정보에서 Windows 사양을 확인한다. Windows 10 Pro를 사용한다면 Docker를 사용할 수 있지만, Windows 10 Home의 경우..
· Java
HashMap과 HashSet을 사용하며 두 가지의 차이점에 대해 정리하고 싶었다. 간단하게 정리해보자. HashMap vs HashSet 차이점 1. 정의 HashMap : Map Interface의 구현체로 HashTable과 유사한 자료구조로 데이터를 저장한다. HashSet : Set Interface의 구현체로, 내부적으로 HashMap을 사용해 데이터를 저장하기 때문에 HashTable과 유사한 자료구조로 데이터를 저장한다고 할 수 있다. 2. 데이터 저장 형태 HashMap : key-value 형태로 데이터를 저장한다. 각 value들이 key에 mapping되어 있다. HashSet : 객체 그 자체를 저장한다. key 값으로는 삽입되는 객체 자체를, 내부 구현 코드에서 필드로 선언한 객..
토발자_Hflug
'분류 전체보기' 카테고리의 글 목록 (4 Page)