Language 149

K번째 수 (quick sort)

N개의 수가 주어진다. 이 수들을 오름차순 정렬했을 때, K번째에 위치하는 수를 알아내자.입력첫 번째 줄에 N, K가 공백으로 분리되어 주어진다. (1 ≤ K ≤ N ≤ 5,000,000)두 번째 줄부터 N개의 줄에 걸쳐 N개의 정수가 주어진다. 각 정수는 -1,000,000,000 이상 1,000,000,000 이하이다.출력주어진 N개의 정수를 오름차순 정렬했을 때, K번째에 위치하는 수를 출력한다. 문제는 심플하다..단순 sort후 K 번째 숫자를 출력하고 싶지만.정수의 범위가 커서 일반 sort할 경우, time out 이 발생한다.지금의 예제는 중간값을 구하고,그 값을 기준으로 quick sort를 반복한다. 좀더 빠르게 하려면, 중간값을 처음과 끝의 반복이 아닌첫 수, 마지막 수, 중간수를 뽑아..

Language/Java 2016.10.12

Java로 linux/Windows command 실행하기

Java를 이용하여 Shell Command를 실행하는 Program import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; /** * TODO : 클래스 설명 작성 * * @author : 윤주석 * @since 1.0 * @see */public class ShellCommander {public String execute(String command) {StringBuffer output = new StringBuffer();Process process = null;BufferedReader br = null;Runtime runtime = Runtime.getRuntime();String os..

Language/Java 2016.09.27

Mysql 연결 오류 발생 (blocked because of many connection errors)

Mysql DB 접속시 다음과 같은 에러가 발생하는 경우, Host 'xxx.xxx.xxx.xxx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' [원인]호스트로부터 접속요청 max_connect_errors와 관련된 접속 연결 설정값 보다 초과하여 발생한 경우 생기는 오류.설정된 값 이상의 host에서 연결이 발생하여 mysql에서 Host를 block 하게 된다. [해결]./mysql/bin/mysqladmin -u root -p flush-hosts 하면.. 접속 가능함. 이후, 접속 max 값을 증가 시킴 ./mysql/bin/safe_mysqld --user=mysql -O max_connec..

Language/NoSQL&JDBC 2016.08.29

Mysql Grant(계정)

1. GRANT GRANT 권한1(컬럼1[,컬럼2,컬럼3...])[,권한2(컬럼1[,컬럼2,컬럼3...]), 권한3...] ON [ 오브젝트명| 테이블명 | * ].[디비명] TO 유저명 [IDENTIFIED BY '비밀번호'] [WITH 위드옵션[위드옵션2,...]] ex) grant all on *.* to 'test0'@'localhost' identified by 'test0'; grant select on *.* to 'test1'@'localhost' identified by 'test1'; grant select on *.* to 'test2'@'localhost' identified by 'test2' with grant option; - 권한 종류 mysql DB의 user 테이블을 de..

Language/NoSQL&JDBC 2016.08.10

File 내 특정 Context 교체

File 내의 특정 문구를 변경해서 새로운 file로 만드는 예제 필요 사항inputFileName(경로 포함)outputFileName(경로 포함)Properties(변경 문구, key=value) return 성공여부 import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;..

Language/Java 2016.07.21

Eclipse와 InteliJ 단축기 비교

Setting 에서 Keymap 에서 Eclipse 스타일 설정 후!!! 단축키 동작 EclipseIntelliJ IDEA Ctrl + 1 Alt + Enter import 되지 않은 Class import 도움 Alt + Shift + O Ctrl + Alt + O import 정리 Ctrl + D Ctrl + Y 라인 삭제 Alt + Shift + S Alt + Insert 코드 삽입(Constructor, get/setter, toString 등) Ctrl + N Alt + Shift + N Ctrl + Alt + Insert 신규 파일 생성(java, JSP 등) sysout, syserr sout, serr System.out.println, System.err.println(Code Templ..

Language/Java 2016.07.19

lombok 사용해서 개발하기

Java 개발시 매번 getter/setter/constuctor/equals/toString 등을 작성해 주는게 기계적인 노동에 해당한다. 이런 기계적인 반복작업을 쉽게 해주는것이 lombok project 이다. https://projectlombok.org/ 간단하게 말해서 Annotation으로 간단하게 Setter, Getter 등의 기본작업을 대신해주는 Project임. 많이 사용하는 Annotation 은 다음과 같다. @Getter / @Setter -Getter와 Setter 함수를 생성합니다. -접근제어 : AccessLevel 지정을 통해서 접근레벨을 제한할 수 있습니다. (PUBLIC, PROTECTED, PACKAGE, PRIVATE) - @Getter(AccessLevel.PAC..

Language/Java 2016.07.19

tomcat jdbc Connection pool options

maxActive : 서비스에서 동시에 사용될수 있는 최대 커넥션 개수. (기본값 : 8) - (maxAcive - maxIdle ) 개의 커넥션은 pool 에 반환되지 않고 제거(real destory) 된다. maxIdle : 커넥션 풀에서 유지될수 있는 idle 상태 커넥션의 최대 개수. (기본값 : 8) minIdle : 커넥션 풀에 유지되수 있는 idle 상태 커넥션의 최소 개수. (기본값 : 0) maxWait : 커넥션 사용이 많아져서 커넥션 풀이 비었을때 사용할수 있는 커넥션을 반환받기까지 기다릴수 있는 최대시간 (ms) (기본값: -1, 무한대기) validationQuery : 커넥션 풀에서 커넥션을 가져올때 해당 커넥션의 유효성 검증에 사용할 SQL Query (반드시 하나 이상의 r..

Language/Java 2016.07.11