본문 바로가기

전체 글42

[Algorithm] 백준. 1949 우수마을 www.acmicpc.net/problem/1949 1949번: 우수 마을 N개의 마을로 이루어진 나라가 있다. 편의상 마을에는 1부터 N까지 번호가 붙어 있다고 하자. 이 나라는 트리(Tree) 구조로 이루어져 있다. 즉 마을과 마을 사이를 직접 잇는 N-1개의 길이 있으며, www.acmicpc.net 트리 & 다이나믹 프로그래밍 껄끄러운 두 가지 방식이 합쳐진 문제. 양방향 그래프이므로, DFS방식으로 탐색하면서 visit 체크를 해서 이후에 되돌아 오는 일이 없도록 했다. 리프노드까지 도착한 후에 올라오면서 선택 시 최대 인원, 비선택 시 최대 인원을 저장하는 방식으로 구현하였다. 조건을 만족하려면, 현재 마을인원을 추가하는 경우엔 이웃한 마을의 인원은 추가되면 안되기 때문에, 이웃한 마을들의 비.. 2021. 4. 23.
[Spring Boot] Spring AOP ( @Aspect ) AOP (Aspect Oriented Programming) 프로젝트 진행중에 GetMapping에 소요되는 시간을 알고싶다면 어떻게 해야할까? 몇십, 몇백개의 GetMapping 메소드가 있다면, 각각의 메소드에 동일한 코드를 작성해야 된다. 뭐...어찌어찌 해서 다 작성했다고 하자, 그런데 추가로 메소드 명도 같이 출력하려면 또 같은작업을 수십 수백번 반복해야한다. AOP를 이용하면 이러한 불편함을 해소할 수 있다. AOP는 핵심 비즈니스로직과 공통 관심사를 '관점'을 기준으로 분리하여 모듈화하여 재사용성을 높이고 개발효율을 증대시킬 수 있다. @Aspect Gradle : implementation 'org.springframework.boot:spring-boot-starte.. 2021. 4. 20.
[Spring Boot] Controller - Dto 유효성 검사 Controller 설정 @PostMapping("/users") @ApiOperation(value = "회원가입") public UserResponse joinUser(@Valid @RequestBody UserRequest request){ return userService.save(request); }위 코드는 @RestController로 선언된 Controller 클래스의 회원가입 메소드이다. @Valid 어노테이션을 추가하여 유효성 검사를 활성화 시킨다. Dto 설정 @Data @Builder @NoArgsConstructor @AllArgsConstructor(access = AccessLevel.PRIVATE) public class UserRequest { private Long id;.. 2021. 4. 19.
[Spring Boot] Junit5 테스트 순서 지정 테스트를 원하는 순서대로 실행하려면? @SpringBootTest @Transactional public class OrderingTest { @Test public void a_Test() throws Exception { System.out.println("A TEST!"); } @Test public void create_Test() throws Exception { System.out.println("create TEST!"); } @Test public void b_Test() throws Exception { System.out.println("B TEST!"); } @Test public void c_Test() throws Exception { System.out.println("creat.. 2021. 4. 18.
[AWS EC2] Nginx SSL 적용 (Certbot) Niginx에 https 적용 도메인 routing 설정 다음 명령어로 niginx를 설치해준다. $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install nginx Nginx 설치 정상적으로 설치되었다면, nginx -v 입력시 버전정보가 출력될 것이다. Certbot 설치 혹시 모르니 다음과 같이 저장소 업데이트 후 설치하도록 하자. $ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository universe $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get upda.. 2021. 4. 18.
[AWS EC2] 원격 서버에 Docker, MariaDB설치 원격 서버에 접속한 상태에서 아래 명령어를 순서대로 입력한다. $ sudo apt update -y $ sudo apt install apt-transport-https ca-certificates curl software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" $ sudo apt update -y $ apt-cache policy docker-ce $ sudo apt install docker-.. 2021. 4. 18.
728x90