본문 바로가기

Program

[Java] Vector와 ArrayList, LinkedList의 차이점 내가 정리했으면 아무리 자세히 쓴다고 해도 이렇게 정성 가득한 글을 쓰지 못했을 것이다. 글을 작성하신 원작자님께 감사드린다. 출처 : http://shagall.tistory.com/36 Java의 리스트 클래스를 이해하자! Java에서 대량의 자료를 추가/삭제하며 처리하기 위해서는 무엇을 사용해야 할까요? 연구실에서 Java를 한번쯤 공부해 본 사람이라면 보통 “Vector Class”라고 대답을 할 것입니다. 정답이죠. Vector Class는 대량의 자료를 가질수 있으며, 추가/삭제또한 자유롭게 처리가 가능합니다. 그럼 뭐가 문제라서 이런 글을 쓰는것일까요? 단순히 “처리되는가” 를 넘어서 “빠르게 처리할수 있는가” 를 생각해 본다면, 위에서의 대답 “Vector Class” 는 X에 가까운 답이.. 더보기
[Java] 한글의 자음, 모음 개수 찾는 프로그램 소스 인터넷에서 이것 저것 구경하다가 유용할 것 같아서...유니코드에서 한글이 입력되어 있는 구조를 이해하고 자음, 모음 개수와 초성, 중성, 종성을 찾는 과정이 참 재미있다. import java.util.Scanner; public class HangeulTest {private static final char[] CHOSUNG = { 'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ','ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ' };private static final char[] JUNGSUNG = { 'ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ', 'ㅔ', 'ㅕ','ㅖ', 'ㅗ', 'ㅘ', 'ㅙ', 'ㅚ', 'ㅛ', 'ㅜ', 'ㅝ', .. 더보기
[Spring] spring mybatis postgresql 연동 Spring Tool Suite(STS)는 Maven을 통해 필요한 .jar 파일들을 받아올 수 있다. 이는 프로젝트의 환경을 셋팅하는데 매우 유용하다. 필요한 파일은 http://mvnrepository.com/에서 검색하면 쉽게 찾을 수 있다. 해당 내용을 프로젝트의 porm.xml에 입력하면 된다. org.mybatismybatis3.1.1org.mybatismybatis-spring1.1.1postgresqlpostgresql9.1-901.jdbc4 STS는 친절하게도 web.xml, root-context.xml, servlet-context.xml으로 분리해 놓고 있다. 뭐... 이건 단순한 프로젝트를 더 복잡하게 만들 수도... 복잡한 프로젝트를 잘 구분해 나누어 놓을 수도... 뭐... 일.. 더보기
[Spring] STS utf-8 환경 셋팅 * Spring Tool Suite으로 Spring MVC Project를 생성하여 실행해보니 글자 깨짐 현상 발생. * Encoding 값을 UTF-8으로 셋팅하면 문제는 해결된다. 동시에 STS 환경을 UTF-8로 셋팅하는 것도 한가지 방법. 1. JSP Files, CSS Files, HTML Files의 Encoding 값을 UTF-8로 설정 2. Workspace에서 Text file encoding 값을 UTF-8로 설정. 3. server.xml 파일을 다음과 같이 에 URIEncoding="UTF-8"을 설정. 4. JSP 파일에서 page directive에 contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" 추가 * 서버 재시작 더보기
[PostgreSQL] PostgreSQL Trigger * Create Trigger Function * Create Trigger CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] } ON table [ FROM referenced_table_name ] { NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } } [ FOR [ EACH ] { ROW | STATEMENT } ] [ WHEN ( condition ) ] EXECUTE PROCEDURE function_name ( arguments ) where event can be one of: INSERT UPDATE.. 더보기
[자료구조] 배열과 연결리스트 (Array & LinkedList) 배열과 연결리스트는 데이터를 나열한다는 점에서 비슷하다. 하지만 배열과 연결 리스트는 엄연히 다르기 때문에 사용하기에 따라 프로그램의 성능이 달라지게 된다. 배열(Array) - 배열은 데이터를 논리적 순서에 따라 순차적으로 데이터를 입력하며, 물리적 주소 또한 순차적이다. 그리고 인덱스를 가지고 있어서 원하는 데이터를 한번에 접근이 가능하기 데이터 접근 속도가 매우 빠르다. 그러나 배열은 데이터의 삽입/삭제에는 취약하다. 배열 특성상 데이터 삽입/삭제가 이루어지면 삽입/삭제가 이루어진 위치의 다음부터 모든 데이터의 위치를 변경해야 하기 때문이다. 위의 그림을 보면 K라는 데이터가 3번째 위치에 삽입됨에 따라 C, D, E, F의 위치가 바꼈다. 삭제의 경우에도 위와 마찬가지로 반대로 처리된다. 지금은 .. 더보기
[PostgreSQL] import csv data into postgresql csv 파일 -> PostgreSQL SQL Shell (psql) # \COPY [테이블이름] FROM '[파일경로]' WITH DELIMITER ',' CSV HEADER; PostgreSQL -> csv 파일 # \COPY [테이블이름] TO '[파일경로]' WITH DELIMITER ',' CSV HEADER; 더보기
[PostgreSQL] backup - pg_dump Synopsis pg_dump [connection-option...] [option...] [dbname] 뭐... pgAdmin3를 사용하면 더욱 편하게 백업할 수 있다. 그런제 갑자기 pgAdmin3에서 복원을 할 때 restore가 활성화가 안되서 '이게 뭔일인가?' 하고 알아봤다. Options -E encoding --encoding=encodingCreate the dump in the specified character set encoding. By default, the dump is created in the database encoding. (Another way to get the same result is to set thePGCLIENTENCODING environment var.. 더보기