본문 바로가기

전체 글148

Java 컬렉션 프레임워크(Collection Framework) Java 컬렉션 프레임워크(Collection Framework) 프로그래밍을 하다 보면 다수의 객체 또는 자료형을 담기 위해서 배열을 사용한다. 배열에 저장하면 이후에 필요할 때 꺼내서 사용할 수 있다. 배열의 단점으로는 초기 배열을 선언할 때 크기를 지정해야 한다는 점이다. 배열을 크기는 동적으로 가변적으로 늘릴 수 없다. 그렇다면 무조건 배열의 크기를 크게 해서 생성해야 할까? 배열의 크기를 크게 해서 생성하면, 불필요한 공간으로 인해 듬성 듬성 빈 공간이 남게 된다. 자바에서는 이러한 문제점을 보완하고자 자료구조(Data Structure)를 바탕의 인터페이스와 클래스를 제공한다. java.util 패키지 자료구조 개념의 클래스와 인터페이스는 java.util 패키지에 위치한다. 이들을 총칭해서 .. 2019. 4. 29.
H2 대소문자 구분 없이 Like 검색 (case insensitive like query) H2 데이터베이스는 기본적으로 대소문자를 구별한다. 즉 sensitive 하다라는 뜻이다. 따라서 대소문자 구분 없이 검색하려면, ILIKE 키워드를 사용해야 한다. 이러한 특징은 PostgreSQL 데이터베이스에서도 동일하다. # case insensitive SELECT * FROM users WHERE name ILIKE '%jayden%'; # case sensitive SELECT * FROM users WHERE name LIKE '%jayden%'; 참고자료 H2 공식 문서 2019. 4. 29.
리팩토링 - 코드의 구린내 코드의 구린내 구린내라는 표현은 캔트 벡이 마틴 파울러에게 제안한 아이디어이다. 어딘가 구리다, 별로다 라는 표현을 '구린내'라고 빗대어 표현한 것이다. 리팩토링이 필요한 코드를 코드의 구린내가 난다고 표현한다. 중복 코드 (Duplicated Code) 중복 코드는 코드의 구린내 중 하나이다. 똑같은 코드 구조가 두 군에 이상에서 중복으로 사용될 때, 이를 하나로 통일하면 프로그램이 개선된다. 중복 코드의 예로 한 클래스의 두 개의 메서드에 동일한 코드 구조가 들어가 있는 경우이다. 이럴 때는 메서드 추출 기법을 사용해서 중복되는 코드를 빼내어 별도의 메서드로 구성하는 것이 좋다. public void methodA() { methodC(); } public void methodB() { methodC.. 2019. 4. 28.
백준알고리즘 10988번 팰린드롬인지 확인하기 10988번 팰린드롬인지 확인하기 문제는 문자열 처리 알고리즘 문제입니다. 팰린드롬 또는 회문이란 간단하게 말해서 입력 받은 문자열이 거꾸로 해도 같은 문자를 뜻한다. 예를 들어 한글로는 토마토가 있고, 영어로는 level이 있다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String text = scan.next(); System.out.println(isPalindrome(text)); scan.close(); } private static int isPalindrome(String text) { int textLeng.. 2019. 4. 25.
SYBASE IQ 사용자 로그인시 비밀번호 변경 하도록 설정 USER 생성 CREATE USER LELECODER IDENTIFIED BY SYBASEIQ; USER 로그인시 비밀번호 변경 하도록 설정 ALTER USER LELECODER FORCE PASSWORD CHANGE ON; 2019. 4. 25.
MSSQL Microsoft SQL 서버 버전 목록 참고자료 Microsoft SQL Server Versions List 2019. 4. 25.
오라클 인덱스 생성 및 삭제 인덱스 생성 CREATE INDEX 인덱스_이름 ON 테이블_이름(컬럼1, 컬럼2, ...); 인덱스 삭제 DROP INDEX 인덱스_이름; UNIQUE 인덱스 생성 UNIQUE 인덱스에 사용되는 해당 컬럼은 중복 값을 허용하지 않는다. CREATE UNIQUE INDEX 인덱스_이름 ON 테이블_이름(컬럼_이름); 2019. 4. 25.
티베로 특정 테이블 컬럼 이름, 데이터 타입 등 상세 정보 조회 티베로 테이블 컬럼 정보 조회 특정 테이블의 컬럼 이름, 데이터 타입, Nullable, 데이터 길이, 주석, 기본값 등 상세 정보를 조회하기 위해서는 아래 쿼리를 실행하면 된다. DBA 권한이 있다면 dba_tab_columns와 dba_col_comments 뷰로 변경해서 조회하면 된다. SELECT cols.column_id "Column ID", cols.column_name "Column Name", nullable "Nullable", data_type "Data Type", data_precision "Data Precision", data_scale "Data scale", char_used "Char Used", data_length "Data Length", char_length "Ch.. 2019. 4. 25.
Eclipse Framework 환경설정 페이지 생성 Eclipse Framework 환경설정 Eclipse Framework를 이용해서 RCP, Plugin 애플리케이션을 개발할 때, 환경설정 기능이 필요한 경우가 있다. Eclipse IDE를 사용하는 개발자는 자신이 원하는 폰트 크기, Java 버전 등을 설정해서 사용한다. 이처럼 환경설정은 애플리케이션에 필요한 기능입니다. 이러한 환경설정 값들은 int, boolean, String와 같이 단순한 형태의 값으로 이루어져 있으며, 보통 플러그인 식별자를 접두어로 하는 문자열을 키로 식별한다. 환경설정을 저장하고 로드하기 위해서는 AbstractUIPlugin를 구현한 클래스로부터 IPreferenceStore 인스턴스를 가져온다. 예제 플러그인에서는 Activator(AbstractUIPlugin의 하.. 2019. 4. 25.