목록전체 글 (254)
요르딩딩
prefix : 실행될 쿼리의 문 안에 쿼리 가장 앞에 붙여준다. prefixOverrides : 실행될 쿼리의 문 안에 쿼리 가장 앞에 해당하는 문자들이 있으면 자동으로 지워준다. suffix : 실행 될 쿼리의 문 안에 쿼리 가장 뒤에 붙여준다. uffixOverrides : 실행될 쿼리의 문 안에 쿼리 가장 뒤에 해당하는 문자들이 있으면 자동으로 지워준다. batch_no, rec_type, rec_seq, ( batch_no, rec_type, rec_seq )
import java.util.*; import java.util.HashMap; import org.junit.Test; import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { List modList = new ArrayList(); for (int i = 0; i < progresses.length; i++) { int num = (int) Math.ceil((double)(100 - progresses[i]) / speeds[i]); modList.add(num); } int max=0; int count=1; List resultList = new ArrayList(); for (int ..
자바에서 ssh를 활용해서 다른 서버로 접속하여 명령어를 실행해야 되는 경우가 있었다. 이럴때는 jsch를 활용하면 쉽게 사용이 가능하다. Jsch를 활용한 개념은 3단계로 이루어 진다. 1. Jsch 클래스를 생성한다. 2. ssh를 통해서 연결한다. 3. 원하는 행위를 연결한 서버로 전송한다. 우선 SFTP란 무엇인가?? FTP의 형태를 가지고 있지만 그 안에서는 SSH를 이용해 연결하는게 SFTP이다! 간단하게 FTP보다 보안이 강화된 전송 방식이다. 포트는 22( FTP의 경우 21)를 사용한다. SFTP를 사용하기 위해 JSch라는 라이브러리를 다운 받았고 아래 링크에서 다운받으면 된다. [pom.xml] com.jcraft jsch 0.1.54 다음은 원격 서버에 파일을 올리는 코드입니다. p..
SELECT * 보다는 필요한 컬럼만 추출할것 (성능향상 27%) Having절 보다는 Where절 사용할것 (성능향상 31%) DISTINCT문 보다는 Primary Key이용할것 (성능향상 85%) 서브쿼리 보다는 JOIN문 사용할것 (성능향상 61%) (서비쿼리는 ANY, ALL, EXIST등이 사용되는1개의 테이블을 사용할때 권장) OR 보다 IN-List 사용할것 (성능향상 73%) (WHERE id = 14 OR id = 17 보다 WHERE id IN (14, 17) 사용) DISTINCT 보다 WHERE EXIST(서브쿼리) 사용할것 (성능향상 61%) (distinct는 모두조회한다.) UNION 보다 UNION ALL 사용 (성능향상 81%) (UNION ALL은 중복검사를 하지 않아 ..

String VS StringBuffer [String 클래스] 1. String 클래스의 인스턴스는 한번 생성되면, 그 값을 읽기만 가능하고, 변경할 수 없습니다. 2. 덧셈(+) 연산자를 이용해 String 인스턴스의 문자열을 결합하면, 내용이 합쳐진 새로운 String 인스턴스를 생성합니다. 따라서 문자열을 많이 결합하면 결합할수록 공간의 낭비뿐만 아니라 속도 또한 매우 느려지게 됩니다. 3. String 클래스와 같이 인스턴스가 한 번 생성되면 그 값을 변경할 수 없는 클래스를 불변 클래스(immutable class)라고 합니다. [StringBuffer 클래스] 1. StringBuffer 클래스의 인스턴스는 그 값을 변경할 수도 있고, 추가할 수도 있습니다. 2. StringBuffer 클래..

Iterator는 자바의 컬렉션 프레임워크에서 컬렉션에 저장되어 있는 요소들을 읽어오는 방법을 표준화한 것이다. 컬렉션 프레임워크란 데이터를 저장하는 클래스들을 표준화한 설계이다. Set, List, Map은 어떤 데이터들의 집합체라고 볼 수 있다. Iterator는 이런 집합체로부터 정보를 얻어낸다고 볼 수 있다 Iterator 메소드에는 hasNext(), next(), remove()가 있다. 각각의 기능은 다음과 같다. hasNext() : 읽어올 요소가 남아있는지 확인하는 메소드이다. 요소가 있으면 true, 없으면 false next() : 다음 데이터를 반환한다. remove() : next()로 읽어온 요소를 삭제한다. 메소드 호출 순서는 hasNext() -> next() -> remov..
https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr import java.util.*; import java.util.HashMap; class Solution { public int solution(String[][] clothes) { // map(key,value) value는 동일한 종류의 수 HashMap map = new HashMap(); for (int i = 0; i < clothes.length; i++) { if (!map.containsKey(clothes[i][1])) { map.put(clothes[i][1], 2); // 1개 종류당 있고,없고 : 경우의수 2가지로 시작함..

인덱스의 장점과 단점에 대해서 알아보겠습니다. 인덱스는 색인이라는 뜻으로 책의 목차와 같은 느낌으로 생각하시면 됩니다. 이와같이 해당 부분을 찾을때 보다 쉽게 찾을 수 있도록 도와주는 역할을 합니다. 이제 본격적으로 DB를 활용하여 인덱스의 장점과 단점에 대해 알아보도록 하겠습니다. 위의 DB를 보면 회원테이블이 있고, 그에대해 '이름 인덱스', '주소 인덱스', '연락처 인덱스'가 있습니다. [장점] 먼저, 인덱스의 장점에 대해 알아보겠습니다. 위의 회원테이블에서 이름으로 조회(select)할시 이미 인덱스로 정렬되어있는 '이름 인덱스'를 활용하여 조회를 하게 됩니다. 정렬된 인덱스 데이터에서 해당 값의 주소값을 찾아 HDD(하드디스크)에서 주소값으로 해당값을 메모리로 끌어올리게됩니다. 때문에 회원테이..