전체 글
-
[JAVA] 객체 정렬 ComparatorJAVA 2018. 8. 29. 12:37
* Comparator=> 기본정렬기준 외에 다른 여러 기준으로 정렬하고자 할때 사용하는 클래스 단순 리스트를 정렬할때 보통 Collections.sort()를 사용한다 //오름차순 ArrayList list = new ArrayList();list.add("d");list.add("c");list.add("b");list.add("a");Collections.sort(list); 출력시: abcd 하지만 개발을 하다보면1234567891011public class User{ private String name; private int grade; private int no; //생략.... } cs 이러한 형태의 VO를 List에 담기도 한다 만약에 아래와 같은 코드가 있다고 하자List list = m..
-
강제로 인덱스 태우기, 인덱스 무시하기DB 2018. 8. 25. 00:19
옵티마이저를 100% 신뢰해서는 안됨. 그렇게 똑똑한건 아니다실행계획을 보고 적절하게 태워줘야함 강제로 인덱스 무시하기 주의사항- 테이블에서 인덱스 최소 2개이 이상이야 함 EXPLAINSELECT * FROM BOARD IGNORE INDEX(BOARD_DELETEFLAG) WHERE BOARD_DELETEFLAG='N'; 강제로 인덱스 태우기 EXPLAINSELECT * FROM BOARD USE INDEX(BOARD_DELETEFLAG) WHERE BOARD_DELETEFLAG='N';=> 힌트사용, 옵티마이저에게 힌트를 준다 EXPLAINSELECT * FROM BOARD FORCE INDEX(BOARD_DELETEFLAG) WHERE BOARD_DELETEFLAG='N';=> 강력하게 인덱스를 ..
-
[알고리즘] 삽입정렬알고리즘 2018. 8. 20. 12:54
12345678910111213141516171819202122232425262728293031323334353637package test_java; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { int[] arr= {4,2,5,6,1,3}; insertSort(arr); for(int result : arr) { System.out.println(result); } } public static int[] insertSort(int[] arr) { for (int i = 1; i = 0 && standard O(n^2)
-
[알고리즘] 선택정렬알고리즘 2018. 8. 20. 12:01
1234567891011121314151617181920212223242526272829303132package test_java; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { int[] arr= {4,2,5,6,1,3}; selectSort(arr); for(int result : arr) { System.out.println(result); } } public static int[] selectSort(int[] arr) { for(int i=0 ; i
-
MyBatis 다중쿼리 사용DB 2018. 8. 17. 00:45
mariaDB에서 페이징을 하던중에 오라클의 row_number기능을 쓰게되었다. 실행쿼리1234set @row_number =0;select (@row_number:=@row_number+1) no, member_idfrom member Colored by Color Scriptercs 이상하게 SQL툴에서는 이상없이 잘 작동했다. 하지만 Mybatis에서 사용하면 에러가 발생하는 것이다. SQL툴은 Multiple Queries 기능을 지원하기 때문에 에러가 발생하지 않은거 였다... *해결법 DB Connection URL에서 allowMultiQueries=true로 주면된다. Oracle이랑 MS-SQL에는 이 옵션이 없다.1234567 Colored by Color Scriptercs
-
[알고리즘] 백준알고리즘 - 피보나치수열 2747알고리즘 2018. 8. 12. 19:02
문제 출처: https://www.acmicpc.net/problem/2747 문제피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다.n=17일때 까지 피보나치 수를 써보면 다음과 같다.0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력첫째 줄에 n이 주어진다. n은 45보다 작거나 같은 자연수이다. 출력첫째 줄에 n번째 피보나치 수를 출력한다. 123456789101112131415..
-
Tomcat 과 Aphache를 같이 사용하는 이유Server 2018. 7. 30. 20:48
Q : 톰캣 앞에 아파치를 두는 이유는 뭘까?A : 로드밸런싱역할과 포트에 따른 권한, 보안이슈때문에. 보통 웹서버(아파치) - WAS(톰캣) 이런식으로 많이 구축을 한다 아파치 -> 정적데이터 처리(html,img,js..) 톰캣 -> 동적데이터처리(db..) 구글링을 해보니톰캣 5.5부터 Httpd의 native모듈을 사용해서 staticfile을 처리하는 기능을 제공해서이 경우 Httpd와 톰캣이 같은 모듈을 사용하니까 성능에서 차이가 날 이유가 없다고 한다 그럼에 톰캣만 설치하고 서비스 운영해도되잖아?대답은 "부분적인 YES"이다.부하가 적은 소규모의 시스템일 경우 크게 문제없다. 웹서버로는 정적 데이터 처리보다는 로드밸런싱(부하분산) 역할을 하는 경우가 더 크다그리고 포트에 따른 권한 및 보안 ..