본문 바로가기

분류 전체보기

(359)
Spring(스프링) 어노테이션 DI방법 스프링에서 어노테이션을 이용한 DI 방법 1.@Autowired,@Resource,@Qualfier 어노테이션1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465package com.web.nuri; import static org.hamcrest.CoreMatchers.is;import static org.junit.Assert.assertThat; import javax.annotation.Resource; import org.springframework.test.context.ContextConfiguration;import org.sp..
재귀호출(재귀함수) 재귀란? static void dfsForRecursive(int v,String str) {if(count==6) {sb.append(str+"\n");}else {for(int i=v+1;i
재귀호출(재귀함수)-하노이 탑(백준1914번) 재귀를 이용한 하노이탑(백준1914번문제) 재귀를 이용한 하노이탑 문제풀이 1234567891011121314151617181920212223242526272829303132333435package recursiveandbacktracking; import java.math.BigInteger;import java.util.Scanner; public class Baekjun1914hanoiRecursive { static void hanoi(int N,char from,char aux,char to) { if(N==1) { System.out.println(from+" "+to); }else { hanoi(N-1,from,to,aux); System.out.println(from+" "+to); han..
재귀호출(재귀함수)-Z(백준1074번) 재귀함수-백준1074번 Z문제 풀이-재귀호출을 이용한 알고리즘풀이 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859package recursiveandbacktracking; import java.util.Arrays;import java.util.Scanner; public class Baekjun1074ZproblemRecursive { static long count; public static long zRecursive(long powNum,int r,int c) { if(powNum==2) { //2x2일 경우 //1사분면일경우 if(r%powNum=..
스프링(Spring) - 서비스 추상화 서비스 추상화란?서비스 추상화란 Spring framework는 물론 객체지향 프로그래밍에서 아주 중요한 개념이다. 간단히 이야기하면 개발환경, 혹은 어떠한 비즈니스 로직을 위한 로우레벨의 기술에 구애 받지 않게 하기위해서, 그리고 책임을 분리 시키기 위한 추상화 개념이다. 예를 들어서 PlatformTransactionManager 같은 경우가 서비스 추상화의 대표적인 예이다. 트랜잭션을 관리한다는 것은 크게 보면 디비의 트랜잭션을 관리한다는 말이다. 그렇다면? 과연 디비라는 것은 종류가 하나인 것인가? 아니다. JDBC,하이버네이트 등등 아주 많은 디비의 종류가 있다. 그렇다면 각자의 디비의 트랜잭션을 관리하기 위해 각각다른 트랜잭션 코드가 필요하다면? 만약 디비가 바뀌게 된다면 그에 따라 트랜잭션 ..
Spring(스프링) Transaction(트랜잭션) 범위설정 Spring Transaction(트랜잭션) 범위 설정하기 1.예외 상황(트랜잭션 범위설정이전)123456789101112131415161718192021public void insertUserTest() { UserDTO user1=new UserDTO(); UserDTO user2=new UserDTO(); UserDTO user3=new UserDTO(); user1.setId("test@test.com"); user1.setPw("1111"); user1.setNickName("tester"); user2.setId("test1@test.com"); user2.setPw("1111"); user2.setNickName("tester1"); user3.setId("test@test.com"); us..
최소신장트리-프림알고리즘(백준 1197번) 이 문제같은 경우는 최소신장트리를 구하는 알고리즘이다. 최소신장트리를 구하는 알고리즘은 크게 프림알고리즘과 크루스칼알고리즘 두가지가 있다. 여기서 조금더 구현하기가 수월한 프림알고리즘을 이용하여 최소신장트리를 구현할것이다. 1. 최소신장 트리란? 최소 신장트리란 주어진 그래프에서 모든 정점을 연결하며 그 비용이 최소인 간선만 연결된 트리를 말한다. 2.프림 알고리즘(그림으로 설명하는 것이 편할 것같아 그림으로 ㅅ 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687..
최소비용구하기-다익스트라알고리즘(백준 1916번) 이전에 게시했던 최단 거리문제가 코드가 동일하다. 단지 출력하는 부분의 코드만 살짝 수정해주면된다. 즉, 최소비용문제 또한 다익스트라 알고리즘으로 풀수 있다. 백준-1916번 최소비용 구하기 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091package graph; import java.util.ArrayList;import java.util.Iterator;import java.util.PriorityQueue;import java.util.Sc..