
GCP의 VM 인스턴스를 이용하여 Jenkins를 설치하고, 초기 설정세팅을 하는 방법에 대해 알아보자. 1. GCP VM 인스턴스 생성하기 VM 인스턴스를 생성하면서 설정한 내용들은 다음과 같다. 아래와 같이 이름을 설정하고 리전은 서울을 선택했다. 머신 유형은 이전에 micro로 설정하였는데 작은 메모리 때문인지 젠킨스가 잘 동작하지 않아서 넉넉하게 medium으로 설정했다. 부팅 디스크는 CentOS 7 버전을 사용했다. 아래와 같이 방화벽 설정에 체크해 주었다. 2. VM 인스턴스에 패키지 설치하기 Jenkins를 설치하기 전에 maven 이나 gradle을 설치해 주자. 먼저 VM 인스턴스에 SSH로 접속해 보자. 아래의 그림에서 SSH를 누르면 된다. yum 명령어를 이용하여 패키지 설치하기 ..
Spring의 @Autowired와 그 쓰임새를 알아보자. @Autowired를 이용하면 필요한 의존 객체에 해당하는 빈을 찾아 필드 또는 파라미터명에 주입할 수 있다. @Autowired는 Spring 컨테이너가 관리하는 Bean에서만 사용이 가능하다. @Autowired 로 Bean을 매칭하는 방법 타입 매칭 (같은 타입이거나 그 타입의 자식들을 다 가져옴) 타입 매칭의 결과가 2개 이상인 경우 필드명 또는 파라미터명 으로 빈 이름 매칭하여 주입 해당하는 이름의 빈이 없으면 NoUniqueBeanDefinitionException 오류가 발생한다. 2.와 같이 매칭 결과가 여러개인 경우, 특정 빈을 주입받기 위한 방법 ? 예시) DiscountPolicy를 상속받는 FixDiscountPolicy, ..

Intellij에서 gradle을 이용하여 프로젝트에 Querydsl 라이브러리를 추가하고, Q파일을 생성하는 방법에 대해 알아보겠습니다. 1. build.gradle 에서 querydsl 추가하기 프로젝트를 생성시 언어는 Java 11 디펜던시는 Spring Web, Spring Data JPA, Lombok 그리고 H2 Database를 추가해 놓은 상태이며, build.gradle의 초기 설정은 아래와 같습니다. plugins { id 'org.springframework.boot' version '2.6.4' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'study' version = '0.0.1..

EC2 인스턴스 생성하기에 이어서 MobaXterm을 이용하여 EC2에 접속해보자. [AWS] EC2 인스턴스 생성하기 Amazon EC2 란? Elastic Compute Cloud 줄여서 EC2 EC2는 AWS에서 제공하는 클라우드 컴퓨팅 서비스다. EC2를 이용하면 하드웨어에 투자하여 서버를 구축할 필요없이 애플리케이션을 개발하고 배포할 수 있다 barbera.tistory.com MobaXterm 이란 ? MobaXterm이란 원격 SSH(Secure Shell) 접속을 지원하는 프로그램이다. SSH 란 ? 시큐어 셸(Secure SHell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그..

Amazon EC2 란? Elastic Compute Cloud 줄여서 EC2 EC2는 AWS에서 제공하는 클라우드 컴퓨팅 서비스다. EC2를 이용하면 하드웨어에 투자하여 서버를 구축할 필요없이 애플리케이션을 개발하고 배포할 수 있다. 원하는 수의 가상 서버를 구축하고 보안 및 네트워킹을 구성하며 스토리지를 관리할 수 있다. 또한 요구사항에 따라 EC2의 확장과 축소를 쉽게 처리할 수 있다는 장점이 있다. AMI 란? Amazon Machine Image(AMI)는 소프트웨어 구성이 기재된 템플릿이다(예: 운영체제, 애플리케이션 서버). AMI에서 인스턴스를 바로 시작하실 수 있는데, 이 인스턴스는 AMI의 사본으로, 클라우드에서 실행되는 가상 서버이다. 다음 그림과 같이, 한 AMI로 여러 인스턴스를 ..

스택(Stack)과 큐(Queue)가 무엇인지, 더 나아가 덱(Deque) 그리고 우선순위 큐(Priority Queue)와 힙(Heap)에 대해서 알아보자. 스택 (Stack) 후입선출(Last In First Out)의 자료구조 가장 나중에 삽입된 데이터가 먼저 삭제된다. Linked List를 이용하여 구현하면 쉽다. 가장 위에 있는 데이터가 위치한 곳을 Top이라고 한다. Top을 통해 데이터를 삽입하는 연산을 push , 삭제하는 연산을 pop이라고 한다. 큐 (Queue) 선입선출(First In First Out)의 자료구조 먼저 삽입된 데이터가 먼저 삭제된다. Linked List를 이용하여 구현하면 쉽다. 삭제연산이 수행되는 곳을 Front, 삽입연산이 이루어지는 곳을 Rear 또는 Ba..
Java의 HashMap과 HashTable이 어떻게 동작하며 성능이 어떠한지 공부하던중 엄청 자세한 글을 찾았다. Java HashMap은 어떻게 동작하는가? 해당 글은 위의 글을 기반으로 내가 이해한 내용들을 정리한 글이다. 연관배열 (Associative array) 연관배열이란 키(key) 1개와 값(value) 1개가 1:1로 연관되어 있는 자료구조이다. 해시테이블 (Hash table) 해시테이블은 Hash를 이용하여 연관배열을 구현한 자료구조 이다. 해시함수를 사용하여 키를 해시값으로 매핑하고, 이 해시값을 인덱스 혹은 주소 삼아 데이터의 값(value)을 키와 함께 저장하여 검색을 빠르게 하기 위한 자료 구조이다. Hash가 뭔데 ? Hash(hash code)를 이해하기 위해서는 Key,..
https://www.acmicpc.net/problem/2624 2624번: 동전 바꿔주기 명보네 동네 가게의 현금 출납기에는 k 가지 동전이 각각 n1, n2, … , nk개 씩 들어있다. 가게 주인은 명보에게 T원의 지폐를 동전으로 바꿔 주려고 한다. 이때, 동전 교환 방법은 여러 가지가 있을 www.acmicpc.net 필요한 배경지식 다이나믹 프로그래밍 문제 해결 방법 동전의 순서는 중요하지 않으므로 동전별로 차례대로 K원을 몇개나 만들 수 있는지 다이나믹 프로그래밍 하면 된다. 문제에서 주어진 입력으로 예를 들어보겠다. dp[K]를 'K원으로 만들 수 있는 동전조합의 수' 라고 할때 먼저 base case로 dp[0] = 1 을 정의할 수 있다. ('0원을 만들 수 있는 경우는 한가지'라고 인..