내 스타일 블로그

SEARCH RESAULT : 글 검색 결과 - 분류 전체보기 (총 27개)

POST : 프로그래밍 노트

Commons Digester

패턴이 일정하고 간단한 포맷을 가진 XML을 파싱할 일이 생겼는데
JAXP를 사용하려고 했지만 너무 복잡하다. 그래서 괜찮은 방법이 없을까 찾아 보다가

digester를 사용하면 xml파일을 아주 재밌게 파싱할 수 있다는걸 알았다.
xml을 읽어서 java beans에 매핑해준다.

http://wiki.apache.org/commons/Digester
http://wiki.apache.org/commons/Digester/FAQ

[xml]
<?xml version="1.0" encoding="UTF-8"?>
<list>
    <item>20091110</item>
    <item>20091109</item>
    <item>20091108</item>
    <item>20091107</item>
    <item>20091106</item>
    <item>20091105</item>
    <item>20091104</item>
</list>

[java source]
public static List<String> parseDateList(String xmlUrl) {

    URL url = null;
    try {
        url = new URL(xmlUrl);
    } catch (MalformedURLException e) {
        log.error(e, e);
    }

    Digester digester = new Digester();
    digester.setValidating(false);

    digester.addObjectCreate("list", ArrayList.class);
    digester.addCallMethod("list/item", "add", 1);
    digester.addCallParam("list/item", 0);

    List<String> dateList = null;
    try {
        dateList = (List<String>) digester.parse(url.openStream());
    } catch (IOException e) {
        log.error(e, e);
    } catch (SAXException e) {
        log.error(e, e);
    }

    return dateList;

}


'프로그래밍 노트' 카테고리의 다른 글

(PL/SQL) about function  (0) 2009.12.02
Javascript로 파일 읽기  (0) 2009.11.16
Oracle SQL 메모  (0) 2009.10.19
grep과 vi 를 하나로  (0) 2009.09.19
Axis2 codegen bug  (0) 2009.08.09
top

posted at

2009. 11. 11. 01:07


POST : 암꺼나

멍멍이 두마리


DSC00498

리트리버한테는 쉽게 다가갈 수 있었지만 셰퍼드는 좀 ㅎㄷㄷ
근데 두 마리 다 참 순한 개였다능..서로 질투하고 ㅋㅋ

'암꺼나' 카테고리의 다른 글

퇴근  (0) 2009.12.11
다트  (0) 2009.12.09
일리  (0) 2009.12.09
몇일전 구입한 노트북  (0) 2009.12.08
iPhone 3G 도착  (0) 2009.12.08
top

posted at

2009. 11. 1. 03:43


POST : 리눅스&우분투

gnome panel 문제

이전 포스팅에서 물리적인 두 개의 디스플레이를 하나의 가상 디스플레이로 사용하는 방법에 대해서 끄적였는데 이보다 앞서 xinerama를 사용하지 않았을 때 겪은 문제가 있었다.

아마도 버그인듯 하다.

NVidia 드라이버를 설치하고 재부팅을 하고 나니까 두 개의 모니터에 같은 패널들이 중복되서 붙어 있었다. 그래서 그 중에 하나를 삭제를 했는데 남아 있는 나머지 세개의 패널들이 무한 재실행을 하는 것이었다. pkill gnome-panel 명령을 무한 반복하는 느낌..

alt+f2 를 누르고 터미널을 실행하고 싶어도 그럴 시간을 안준다.
반짝이는 패널을 쳐다보면서 멍 때리고 있다가 다시 한번 구글신에게 물어 보았다.

gconftool-2 --shutdown

rm -rf ~/.gconf/apps/panel

pkill gnome-panel

이런 답을 주셨지만 내 우분투는 나에겐 터미널을 실행할 수 있는 시간을 주지 않으셨으므로
Recovery mode로 부팅을 한 다음 두번째 명령만 실행했다.

다시 패널들이 default 상태로 되돌아 왔다.

만약 gnome-panel를 default 상태로 되돌리고 싶으면 박스 안의 명령을 차례데로 실행하면 된다.

'리눅스&우분투' 카테고리의 다른 글

Ubuntu 9.10 CD가 도착했다.  (0) 2009.11.29
xinerama  (0) 2009.10.31
무선 네트워크 설정  (0) 2009.08.09
듀얼 모니터에서 AWN 사용하기  (0) 2009.08.09
gnome-terminal default size setting  (0) 2009.08.09
top

posted at

2009. 10. 31. 23:18


POST : 리눅스&우분투

xinerama

오늘 Ubuntu 9.10 을 설치하고 NVidia driver까지 셋팅을 했다.
그런데 듀얼모니터 설정이 지금까지 내가 써오던 것과는 다르게 셋팅이 되어 있었다.

듀얼 모니터를 사용하는데 윈도우들이 처음 실행된 모니터 안에서만 움직였다. 이런저런 옵션을 변경해 봤지만 해결책을 못찾다가 Enable Xinerama라고 이름 붙어 있는 체크박스가 눈에 띄었다. 이게 뭘까하고 검색해봤는데 .. 아항~

물리적인 두 모니터를 하나의 가상 모니터로 인식시켜주는 기능이었다.


이제 두 개의 모니터를 하나의 모니터처럼 사용할 수가 있다.


'리눅스&우분투' 카테고리의 다른 글

Ubuntu 9.10 CD가 도착했다.  (0) 2009.11.29
gnome panel 문제  (0) 2009.10.31
무선 네트워크 설정  (0) 2009.08.09
듀얼 모니터에서 AWN 사용하기  (0) 2009.08.09
gnome-terminal default size setting  (0) 2009.08.09
top

posted at

2009. 10. 31. 23:03


POST : 프로그래밍 노트

Oracle SQL 메모

다른 column의 값으로 update하기
news라는 테이블에 reg_dt, modi_dt, cp_news_dt라는 column이 있다.
여기서 reg_dt와 modi_dt의 값을 cp_news_dt의 값으로 update를 하고 싶다.

update news
set reg_dt = cp_news_dt, modi_dt = cp_news_dt
where news_id in (
  select news_id
  from news
  where news_id between 20091001000000000 and 20091005000000000 );

select된 result를 group으로 카운팅 하기
news_id는 20090914000000000 와 같은 형식이다. 앞자리 8개를 통해 news의 등록 날짜를 알 수 있다. 날짜별로 news의 갯수를 알고 싶을 때는

select substr(reg_dt,0,8) reg_date, count(news_id)
from news
where news_id between 20090914000000000 and 20090919240000000
group by substr(reg_dt,0,8)
order by reg_date;

에휴...sql이 난 왜케 어렵니 -.-

'프로그래밍 노트' 카테고리의 다른 글

Javascript로 파일 읽기  (0) 2009.11.16
Commons Digester  (0) 2009.11.11
grep과 vi 를 하나로  (0) 2009.09.19
Axis2 codegen bug  (0) 2009.08.09
Cruise Control + SVN  (1) 2009.08.09
top

posted at

2009. 10. 19. 18:58


POST : 프로그래밍 노트

grep과 vi 를 하나로

grep 으로 찾은 파일을 바로 vi에서 볼 수 있는 스크립트입니다.
많이 사용할 거 같아서 만들었는데
그 이후 일주일간 사용한적은 없습니다. ;(

손에 익어서 그런지 요즘 들어서 부쩍 사용하기 시작했습니다.

#!/bin/bash

if [ $# -ne 2 ]; then
    echo "Usage: gvi pattern file-extention"
    echo "eg: gvi CESC dat"
    exit 1
fi

files=`grep $1 *$2 | awk -F : '{print $1}' | uniq`
result_count=`grep $1 *$2 | awk -F : '{print $1}' | uniq | wc -l`

if [ $result_count -eq 0 ]; then
    echo 'no file mached'
    exit 0
fi

echo "list of files : $result_count"
echo $files | sed 's/ /\n/g'
echo -n "(q: quit, enter: open files with vi):"
read input

if [ $input = 'q' ]; then
    echo $input
    exit 0
fi

vi $files


'프로그래밍 노트' 카테고리의 다른 글

Javascript로 파일 읽기  (0) 2009.11.16
Commons Digester  (0) 2009.11.11
Oracle SQL 메모  (0) 2009.10.19
Axis2 codegen bug  (0) 2009.08.09
Cruise Control + SVN  (1) 2009.08.09
top

posted at

2009. 9. 19. 11:52


POST : 리눅스&우분투

무선 네트워크 설정

/etc/network/interfaces
auto lo
iface lo inet loopback

iface wlan0 inet static
wireless-essid xxxxx
wireless-key xxxxxxxxxx
address 192.168.47.xxx
netmask 255.255.255.0
gateway 192.168.47.1

네트워크 매니저가 설정을 변경할 수 있으므로 그냥 지워 버리자.

'리눅스&우분투' 카테고리의 다른 글

gnome panel 문제  (0) 2009.10.31
xinerama  (0) 2009.10.31
듀얼 모니터에서 AWN 사용하기  (0) 2009.08.09
gnome-terminal default size setting  (0) 2009.08.09
zombie 프로세스 찾기  (0) 2009.08.09
top

posted at

2009. 8. 9. 16:40


POST : 리눅스&우분투

듀얼 모니터에서 AWN 사용하기

Ubuntu에서 AWN(Avant-Window-Navigator)를 설치하면 화면 아래쪽 가운데에 dock이 위치한다.
그런데 듀얼모니터를 사용할 경우 두 모니터의 가운데에 나타나서 양쪽에 반반씩 걸치게 된다.
Awn manager를 눈씻고 찾아봐도 위치를 설정하는 메뉴가 없다.

프로그램 > 시스템 도구 > 설정 편집기
혹시 위 메뉴가 안보이면

시스템 > 기본 설정 > 주메뉴
에서 설정 편집기가 보이도록 체크!

/apps/avant-window-navigator 를 연다.
이 곳에서 monitor_width 값을 변경해주면 된다.

'리눅스&우분투' 카테고리의 다른 글

xinerama  (0) 2009.10.31
무선 네트워크 설정  (0) 2009.08.09
gnome-terminal default size setting  (0) 2009.08.09
zombie 프로세스 찾기  (0) 2009.08.09
find command  (0) 2009.08.09
top

posted at

2009. 8. 9. 16:22


POST : 리눅스&우분투

gnome-terminal default size setting

gnome-termial의 디폴트 싸이즈는 80x24이다.(컴퓨터에 따라 달라지는지는 잘 모르겠다.)
24인치 모니터를 사용하는 나같은 사람에게는 좀 작게 느껴지는데
싸이즈를 조금 더 키운 상태로 실행하는 방법을 찾아 봤다.

/usr/bin 디렉토리 아래에 terminal이라는 파일을 생성한 뒤

#!/bin/bash
/usr/bin/gnome-terminal --geometry=120x48

요렇게 한 뒤 저장한다.
그리고 chmod 명령으로 실행 권한을 준다.
alt+F2를 하고 terminal을 실행하면 조금 더 큰 터미널창을 볼 수 있다.


'리눅스&우분투' 카테고리의 다른 글

무선 네트워크 설정  (0) 2009.08.09
듀얼 모니터에서 AWN 사용하기  (0) 2009.08.09
zombie 프로세스 찾기  (0) 2009.08.09
find command  (0) 2009.08.09
linux history command tip  (0) 2009.08.08
top

posted at

2009. 8. 9. 13:58


POST : 리눅스&우분투

zombie 프로세스 찾기

ps -el | grep 'Z'

Z 가 Zombie 다!

참고로

S : sleeping
R : running
D : waiting (over het algemeen voor IO)
T : gestopt (suspended) of getrasseerd
Z : zombie (defunct)

'리눅스&우분투' 카테고리의 다른 글

듀얼 모니터에서 AWN 사용하기  (0) 2009.08.09
gnome-terminal default size setting  (0) 2009.08.09
find command  (0) 2009.08.09
linux history command tip  (0) 2009.08.08
Ubuntu에서 cx_Oracle 사용하기  (0) 2009.08.08
top

posted at

2009. 8. 9. 03:05


CONTENTS

내 스타일 블로그
BLOG main image
익현이의 프로그래밍 노트^^
RSS 2.0Tattertools
공지
아카이브
최근 글 최근 댓글
카테고리 태그 구름사이트 링크