계수 정렬(Count Sort)이란?특정한 조건이 부합할때만 사용할 수 있지만 매우 빠르게 동작하는 정렬 알고리즘계수 정렬은 데이터의 크기 범위가 제한되어 정수 형태로 표현할 수 있을 때 + 가장 큰 데이터와 가장 작은 데이터가 백만정도 이하의 차이일때 효율적인 정렬 알고리즘이다.모든 범위를 담을 수 있는 크기의 리스트를 선언하여 구현한다.데이터의 개수가 N, 데이터 중 최대값이 K일 때 최악의 경우에도 수행 시간 O(N + K)를 보장한다. 예시를 통해 계수 정렬 이해하기아래의 표와 같은 성적을 가지고 있는 학생들이 있다고 가정하고, 오름차순으로 아래 성적을 정렬한다고 생각해보자. 누가 어떤 성적을 가지고 있는지는 중요하지 않다고 할 때, 계수 정렬을 이용하여 정렬하는 것이 가장 빠른 정렬 방법이다.7..

전체 글
백엔드로 살아남기 입니다.
상황에 따라 도커 컨테이너 내부에서 도커를 실행해야 할 때가 있다.예를 들면 젠킨스 컨테이너 내부에서 도커 이미지를 빌드하고 싶은 때 도커를 실행해야 한다.도커 컨테이너 내부에서 도커를 실행하기 위한 방법으로는 2가지가 있다.도커 컨테이너 내부에 도커엔진을 설치하기 (Docker in Docker)도커 컨테이너 내부에서 호스트의 도커 데몬을 사용하기 (Docker out of Docker)1번 방법은 두 계층의 데몬이 서로 간섭하게 될 수 있고, 중복 자원할당 및 오버헤드가 발생하여 성능이 저하될 수 있어 추천되지 않는 방식이라고 한다.따라서 2번 방식을 구현하는 법을 설명하겠다.Docker out of Docker우리가 처음 도커를 설치할 때 sudo apt-get install docker-ce do..
DI (Dependency Injection - 의존성 지원)스프링은 설정 파일이나 어노테이션을 통해서 객체 간의 의존 관계를 설정할 수 있다. 객체는 의존하고 있는 객체를 직접 생성하거나 검색할 필요가 없음.IoC (Inversion of Control - 제어의 역전)스프링이 갖고 있는 핵심적인 기능으로, 자바의 객체 생성 및 관리 책임을 개발자에서 전체 애플리케이션 또는 프레임워크에 위임하는 디자인 패턴을 일컫는다.AOP (Aspect Oriented Programming - 관점 지향 프로그래밍)문제를 해결하기 위한 핵심 관심 사항과 전체에 적용되는 공통 관심 사항을 기준으로 프로그래밍 함으로서 공통 모듈을 여러 코드에 쉽게 적용할 수 있다.Container컨테이너는 객체의 생성, 사용, 소멸에 ..