Thursday, September 24, 2009

기본 평균및 100분율..등. 증감 변화율등.

프로그래밍하다보면 많이 쓰이는..계산법.


변화율 : (12-6) / 6 *100 // 앞 뒤

100분율 : 10 / 100 *100 값 / 기준값 * 100

증감 : // B -A

---------|------------|------------|-------
A B C

((c-b)-(b-a))
증감율 (b-a)/a = ───────
(b-a)

주소창에 URL 주소 값을 갖고 오는 방법?

이상준
2004-03-19 10:22:48.0
주소창에 URL 주소 값을 갖고 오는 방법?
주소창에 url 주소 값을 갖고 오고 싶은데 어떻게 방법이 없을까요?

예를 들어 http://www.korea.com/ta1110.jsp 이렇게 있다면

ta1110.jsp 페이지가 열릴텐데 페이지 열리면서 ta1110.jsp 페이지에서 주소창에

뜨는 url 주소값을 받을수 있는 함수나 명령어 없을까요?

근본적으로는 페이지가 열리면서 자기 자신의 화일명을 알고싶은데 페이지마다

변수로 박아주기에는 너무 많아서 페이지가 열리면서 열릴때 주소창의 url 주소를

페이지 열림과 동시에 변수로 받아서 처리 하고 싶은데 저 주소값을 변수로 받을수

있는 방법좀 가르쳐 주세요. 부탁 드리겠습니다.

참고로 아파치 + 웹로직 + jsp 사용하고 있습니다.
    Tag
    tag는 게시물의 성격을 나타내는 키워드를 입력하는 공간입니다.
    tag는 로그인 후 사용하실 수 있습니다.
    • request.getRequestURL()
      request.getRequestURI()
    • 무느미
    • 2004-03-19 12:38:21
    • x
    • test.jsp에서 test1.jsp로 포워딩 시킨 결과입니다.
      위 두개의 차이점을 알수 있지요.
      ---------------------------------------------------


      test.jsp에서 test1.jsp로 포워딩 시킨 결과입니다.
      위 두개의 차이점을 알수 있지요.
      ---------------------------------------------------
      <%@ page contentType="text/html; charset=euc-kr" %>

      Context : request.getContextPath()

      URL : request.getRequestURL()

      URI : request.getRequestURI()

      Path : request.getServletPath()

      ----------------------------------------------
      Context : /examples
      URL : http://localhost/examples/test.jsp
      URI : /examples/test1.jsp
      Path : /test1.jsp

      ----------------------------------------------
      Context : /examples
      URL : http://localhost/examples/test.jsp
      URI : /examples/test1.jsp
      Path : /test1.jsp
    • 세브니
    • 2004-03-19 14:00:38
    • x

    Tuesday, September 22, 2009

    6. DISTINCT 문을 이용한 중복의 제거


    6. DISTINCT 문을 이용한 중복의 제거

    웃챠 오늘은 새벽 두시 이군요. 어김없이 오늘도 하나의 강좌글을 쓰겠다는 제 자신과의

    약속으로 졸린 가운데 키보드를 두들 깁니다.

     

    이번에 소개해드릴 내용은 중복의 제거 입니다.

     

    이 키워드는 바로 distinct 입니다. 

    SELECT au_id
    FROM titleauthor

     

    이 질의를 실행해 보세요.

    25개의 데이터가 들어 있을 겁니다.

    문제는? 중복되는 녀석이 존재 한다는 거지요.

    이 녀석들에 대해 중복을 제거해 보자는 겁니다.

     

    이때 사용하는 키워드는 중복의 제거인 DISTINCT 입니다.

    SELECT DISTINCT au_id
    FROM titleauthor

     

     

    자 그렇다면?

    하나의 컬럼으로 보면 여러개의 로우가 중복되어 있는데..여러개의 컬럼에서

    본다면? 로우의 값들이 고유 합니다. 그럼 어떻게 될까요?

    돌려 보면?

    SELECT *
    FROM titleauthor

     

    질의를 수행 하시면? 여러개의 컬럼들이 리턴 될겁니다.

    로우들의 데이터를 죽 보시면? 중복되는 것이 하나도 없지요. 바로...

    SELECT DISTINCT *
    FROM titleauthor

     

    이렇게 수행 하셔도 같은 결과가 된다는 의미 입니다.

    왜인지는 아실 겁니다.

    모든 컬럼의 로우들을 비교하면? 중복값이 없기 때문이지요.

     

    이 사용에 대해 주의 하셔야 하며..

    두번재로 text데이터 형에서는 dsitinct가 불가 합니다.

    use northwind
    go

    select description from Categories

     

    northwind라는 샘플 데이터베이스의 categories 테이블은? 데이터형이 text형으로 되어

    있습니다. 이곳에 대해

    use northwind
    go

    select distinct description from Categories

     

    하시면?

     

    결과-----------------------------------------------------------------

    서버: 메시지 8163, 수준 16, 상태 3, 줄 2
    text, ntext 또는 image 데이터 형식은 DISTINCT로 선택할 수 없습니다.

    라는 메세지가 뜨게 됩니다.

    이해가 되시는지요...

     

    세번째로 NULL 이라는 값이 지정되는 않을 경우는 여러개의 NULL이 있더라도?

    하나의 NULL만 dsitinct의 결과에 나타나게 됩니다.

     

    그럼 이정도로 distinct의 이야기는 접도록 하지요.

    이는 종종 실제 업무에서 사용을 한 경험이 있습니다.

    코난이는 종종 다른회사에서 주는 데이터를 가지고 가공 처리해 솔루션을 구축하는

    외주 업무를 주로 많이 했었는데...

    업체에서 넘겨주는 데이터가 엉망일 경우가 많습니다.

    이럴때 가공 처리를 위해 종종 distinct를 사용 하지요....

    간단하지만 몇몇 제약이 있는 distinct 잘 이해 되셨으리라 생각 합니다.

    그럼 이만.


    6. DISTINCT 문을 이용한 중복의 제거 문서의 끝입니다.

     

    저작권 : 이 홈페이지의 내용은 모두 자유롭게 사용하실 수 있습니다.

    Wednesday, September 16, 2009

    리눅스 설치구축 및 운용 실무

    http://www.superuser.co.kr/linux/index.htm#top


    뉴스서버 만들기(INN 2.3) - 서버측 설정
    뉴스서버 만들기(INN 2.2) - 클라이언트측 설정
    뉴스서버 만들기(INN 2.2) - 서버측 설정
    리눅스에서 PHP, JSP, Servlet설치
    DNS서버 만들기
    NetSaint
    CVS(Concurrent Versions System)
    View CVS
    웹페이지보안(SSL)
    NFS(Network File System)
    chkrootkit
    ngrep
    사이트 검색엔진(htdig)
    YASQL
    유용한 vi명령어
    자주쓰는 명령어 모음
    Net-SNMP (5.0.8)
    PostgreSQL 설치 & 사용법 정리
    Linux Kernel 2.6 정리
    [DB2] DB2 설치(리눅스)
    [DB2] DB2 사용(리눅스)
    『 리눅스 실무명령어 바이블 I, II편』 공개페이지
    16장. 특정 패턴의 문자들을 원하는 포맷으로 처리하는 강력한 유틸리티 awk 개론
    34장. 특정파일의 삭제, 변경, 추가등을 불가능하게 하는 속성설정하는 chattr
    37장. 파일,디렉토리의 퍼미션, SetUID,SetGID,StickBit설정하는 chmod
    53장. 주기적, 반복적인 작업을 위한 cron설정작 crontab 파워활용
    LIVE CD 만들기 HowTo Ver 0.2
    리눅스어플리케이션설치
    리눅스설치후초기보안셋팅
    영준이의 블렌더 (Blender)강좌 - 3D 랜더링 프로그램
    doly 의 실무강좌
    1. RedHat 9 설치
    2. RedHat 9 설치 후 기본셋팅
    3. RH9 Mail Server ( sendmail 설치 & 운영 )
    4. RH9 FTP Server ( proftpd 설치 & 운영 )
    5. RH9 WEB & DB Server ( Apache, PHP, MySQL 설치 & 운영 )
    6. RH9 DNS Server ( BIND9 설치 & 운영 )
    SSU(Superuser Server Utility) 이용한 서버 관리 및 운영
    iptables 에 string 모듈 올리기 (커널 컴파일)
    Computer System Architecture (M. Morris Mano)
    Serial Port Console Redirection on Linux
    Linux ASF Server (senator)
    간단한 트래픽 분석 프로그램 (su_traffic)
    헐렁고수의 "리눅스서버 트러블슈팅"
    제1편 : 아무런 이유없이 ftp접속이 완전차단 되었다면
    제2편 : 어느날 갑자기 named가 시작이 되지 않을때
    제3편 : root가 Root로 변경되어 있을때
    chtla.com 칸이의 리눅스 강좌
    portsentry 1.1 설치하기
    리눅스 서버 최적화 테크닉 키우기 4
    리눅스 서버 최적화 테크닉 키우기 3
    리눅스 서버 최적화 테크닉 키우기 2
    리눅스 서버 최적화 테크닉 키우기 1
    보안 7월 30~31일에 openssh 설치하신분들 필독(트로이 목마 내포됨)
    설치 VMware로 윈도우에서 리눅스 설치하기
    설치 logwach-3.3-2 설치 및 설정
    설치 nessus 를 이용한 보안 취약점 체크하기
    설치 ssh2 설치(기존 openssh사용에서)
    설치 아파치 1.3.26 으로 버전업하기
    설치 openssh 3.4p1 으로 버전업하기(원격 접속으로)
    설치 ntop 설치 및 설정
    설치 Bind-9.1.3-4 세팅 및 DNS 세팅하기
    dbakorea 강명규의 리눅스 강좌
    DNS(simple)
    MRTG
    SNMP
    SNMP를 이용한 MRTG
    메일서버 만들기
    뉴스서버 만들기
    PHP,TOMCAT설치
    SSH
    ntop
    YASQL
    리눅스용 DB2 설치
    리눅스용 DB2 사용테스트
    MySQL관련
    내가 자주쓰는 vi명령어
    Zend Optimizer설치
    SNORT(IDS)
    SSI설정
    TripWire설치와 활용
    몇가지 팁들1
    아파치 설정팁들
    PHP3 게시판
    날짜 속이기
    CGI설정과 문제해결
    PHP3설정
    리눅스 클러스터링 & 로드발런싱 -강좌버전 1.0-
    [클러스터(Cluster)]소개
    [클러스터(Cluster)종류]HPC(High Performance Cluster Computing)
    [클러스터(Cluster)종류]하드를 장착한 클러스터
    [클러스터(Cluster)종류]Diskless 클러스터 설정
    [클러스터(Cluster)종류]부하분산 클러스터
    [클러스터(Cluster)종류]부하분산 서버 설정
    레드햇 7.2 한글화 총정리 -강좌버전 1.0-
    1.레드햇 7.2 설치시 주의사항 -강좌버전1.0-
    2.VFAT 한글 파일명 보기 -강좌버전1.0-
    3.한/영, 한자 키 사용하기 -강좌버전1.0-
    4.ADSL 연결하기 -강좌버전1.0-
    5.KDE 2.2 -> 2.2.2 -강좌버전1.0-
    6.QT - OnTheSpot -강좌버전1.0-
    7.트루타입 글꼴(*.ttc) 사용하기 -강좌버전1.0-
    8.트루타입 글꼴(*.ttf) 사용하기 -강좌버전1.0-
    9.고정폭 글꼴(*.fon) 사용하기 -강좌버전1.0-
    10.Bash, 한텀, Konsole, gnome-terminal -강좌버전1.0-
    11.VIM 6.0 / gedit / 가우 -강좌버전1.0-
    12.넷스케이프 4.78 -강좌버전1.0-
    13.모질라-강좌버전1.0-
    14.XMMS -강좌버전1.0-
    15.GNOME / 노틸러스 -강좌버전1.0-
    16.Borland Kylix 1.0 -강좌버전1.0-
    17.그 외에 -강좌버전1.0-
    18.해결되지 않은 문제 -강좌버전1.0-
    19.관련 사이트 -강좌버전1.0-
    20.스크린샷 -강좌버전1.0-
    dacker 박병서의 리눅스 강좌 -강좌버전 1.0-
    Network
    [LINUX]web server 설치/설정
    [LINUX]dns server 설치/설정
    [LINUX]mail server 설치/설정
    [LINUX]ftp server 설치/설정
    rootman 윤일의 리눅스 강좌 -강좌버전 1.0-
    VSFTP 설치하기
    VSFTP로 가상유저FTP 서비스하기
    cron을 이용한 작업 스케줄러 설정 -강좌버전1.0-
    apache, mysql, php 설치하기 -강좌버전1.0-
    네트워크 설정 파일 -강좌버전1.0-
    FTP Server - Proftpd(proftpd.conf)
    FTP Server-Proftpd xinetd(inetd) 모드로 운영하기
    FTP Server- wu-ftpd(ftpaccess)
    ssh2 설치하기
    ssh-keygen을 이용한 key 설정
    ssh-keygen을 이용한 key 설정
    퍼미션 (chmod, chattr)
    tcp-wrapper
    yb2u의 리눅스 설치 -강좌버전 1.0-
    리눅스 서버구축 / 관리 -기초- -강좌버전 1.0-
    LINUX 설치구축 강좌
    백업(dump)된 파일 복구(restore)하는방법 -강좌버전 1.0-
    네트웍설치를 위한 네트웍부팅디스켓 만들기
    리눅스에서 부팅디스켓 만들기
    하드디스크 추가장착 -강좌버전 1.0-
    리눅스 서버 구축하기
    리눅스 디렉토리구조
    파일목록 및 디렉토리 정보보기
    진정한 시스템관리자란?
    시스템 종료와 시작하기
    리눅스서버의 안전한종료 및 부팅하기
    부팅디스크를 만들려면
    LINUX 명령어 가이드
    시스템의 호스트네임을 출력하거나 변경한다.(hostname)
    특정패턴의 파일을 찾는다.
    시스템을 종료하거나 재시작한다.(shutdown)
    시스템을 재부팅합니다.(reboot)
    시스템을 종료합니다.(halt, poweroff)
    아파치 응답속도를 측정합니다.(ab)
    passwd파일의 원하는 정보만 확인하기
    모든계정들의 서버접속정보를 확인한다.(last)
    각계정들의 최근 접속정보를 확인한다.(lastlog)
    시스템에러메시지의 내용을 출력한다.(perror)
    아파치 데몬실행파일 : httpd
    특정디렉토리내의 디렉토리리스트만 확인하기
    특정위치의 특정파일을 모두 찾아서 삭제하기
    특정디렉토리 이하에 존재하는 파일 개수 확인법
    웹로그파일(access_log)에서 유일 IP카운트방법
    bzip2/bunzip2 (파일을 압축하고 압축된 파일을 해제한다.)
    bzip2recover (bzip으로압축된 압축파일 복구)
    gzip/gunzip (압축및 압축해제를 한다.)
    uncompress(compress로압축된압축파일해제)
    compress (기본적인 압축 프로그램)
    tar (여러개의 파일을 하나의 파일로 묶고,압축한다)
    top (시스템의 전반적인 운용상황을 점검한다.)
    uptime (시스템의 운용시간, 부하율등을 확인)
    pstree (프로세스들의 관계를 tree구조로 출력)
    ps (프로세스의 상태를 확인한다.)
    usermod (사용자의 계정정보를 변경한다.)
    userdel (사용자계정을 삭제한다.)
    useradd (새로운 계정사용자를 생성한다.)
    w (사용자 로그인정보와 현재 작업내용 확인)
    groupdel (기존에 존재하는 그룹을 삭제한다.)
    groupadd (새로운 그룹을 생성한다.)
    pwunconv (shadow정책에서 일반정책으로변환)
    pwconv (shadow패스워드정책으로 변환한다.)
    df (파일시스템들의 사용량 정보확인)
    du (파일및 디렉토리의 용량을 확인한다.)
    sort (텍스트파일을 행단위로 정렬한다.)
    whereis(명령어의실행파일,소스,man 페이경로확인)
    whatis (명령어의 간략한 설명을 보여준다.)
    which (명령어의 경로를 확인한다.)
    tail (파일의 마지막에서 지정한행까지를 보여준다)
    head (파일의 앞부분을 지정한 만큼 보여준다.)
    chgrp (파일과 디렉토리의 소유그룹을 변경)
    chown (파일과 디렉토리의 소유주와 소유그룹 변경)
    mkdir (새로운 디렉토리를 생성한다.)
    rmdir (비어있는 디렉토리를 삭제한다.)
    rm (파일이나 디렉토리를 삭제한다.)
    cp (파일과 디렉토리를 복사한다.)
    cd (작업디렉토리의 위치를 변경한다.)
    manpath (man페이지 위치및 경로검색)
    man (명령어 도움말(메뉴얼)보기)
    cat (파일의 내용확인및 간단한 파일생성)
    touch (파일의 날짜시간정보를 변경)
    file (파일의 종류를 분류하고 확인한다.)
    history (명령어 히스토리및 지난 명령어 재사용)
    date : 날짜와 시간정보를 확인하고 수정한다.
    rdate(타임서버로부터 로컬서버의 시간설정)
    chsh (기본사용쉘, 로그인쉘 변경)
    badblocks (디스크배드블럭 체크및 검사)
    passwd (사용자의 패스워드를 입력및 변경)
    nice (스케줄링에 의한 프로세스 우선순위 변경)
    finger (서버내의 계정사용자 계정정보확인)
    logout (로그아웃, 사용쉘 종료하기)
    whoami (유효사용자ID, EUID를 확인한다.)
    id (사용자정보, uid, gid, 그룹정보확인)
    groups (현재사용자가 속한 그룹정보확인)
    who am i (자기의 UID및 접속정보확인)
    free (시스템메모리 사용량 확인)
    로그인하기 : login
    로그아웃(logout)하기
    나는 누구인가? : who, whoami, id
    나의 홈디렉토리는? : pwd, cd
    패스워드 변경 : passwd
    쉘변경 : chsh
    날짜 확인하기 : data
    명령어 히스토리기능 : history
    man 페이지 활용하기 : man
    현재 작업디렉토리는? : pwd
    작업디렉토리 변경 : cd
    파일이나 디렉토리 복사하기 : cp
    파일삭제하기 : rm
    파일과 디렉토리의 이동 및 이름변경 : mv
    디렉토리 만들기와 디렉토리 지우기 : mkdir, rmdir
    소유권 변경하기 : chown
    파일내용보기 : cat, head, tail
    원하는 파일찾기 : find, which
    파일내용 정렬하기 : sort
    파일의 종류 확인하기 : file
    디스크 사용량 확인하기 : du, df
    빈파일 만들기 : touch
    여러개의 파일을 하나로 합치기: cat
    사용자 계정생성 및 삭제 : useradd, userdel
    그룹생성 및 삭제 : groupadd, groupdel
    시스템보안을 위한 패스워드 정책변경 : pwconv, pwunconv
    시스템 모니터링 및 프로세스관리 : ps, uptime, top
    메모리 사용현황 : free
    사용자들은 지금 어떤 작업을 하고있나? : w
    마운트에 관하여 : mount
    압축파일 개론
    압축 명령어
    tar 로 파일 묶기
    compress, uncompress
    gzip, gunzip
    tar와 gzip을 한번에
    bzip2, bunzip2
    LINUX tools & utilites
    리눅서 설정프로그램 -강좌버전 1.0-
    리눅스설정 9 : Network Configuration -강좌버전 1.0-
    리눅스설정 8 :X configuration(X Server설정) -강좌버전 1.0-
    리눅스설정 7 : Timezone configuration(지역시간대설정) -강좌버전 1.0-
    리눅스설정 6 : Sound card configuration(사운드카드설정) -강좌버전 1.0-
    리눅스설정 5 : System Services (서비스설정) -강좌버전 1.0-
    리눅스설정 4 : Mouse configuration(마우스설정) -강좌버전 1.0-
    리눅스설정 3 : Keyboard configuration(키보드설정) -강좌버전 1.0-
    리눅스설정 2 : Firewall configuration(방화벽설정) -강좌버전 1.0-
    리눅스설정 1 : Authentication configuration(인증설정) -강좌버전 1.0-
    ucd-snmp 설치및 업그레이드
    WHOWATCH 툴 설치 및 사용법
    로그인후 지정한 시간동안 키입력이없을때(idle time) 강제로그아웃시키기
    리눅스 네트웍제어판(netcfg)
    삼바(samba)설치 및 활용법
    하부디렉토리까지 송수신하는 ncftp 활용법
    서버관리 유틸리티 Top 설치및활용
    gd 라이버러리 설치하기
    Freetype 라이버러리 설치하기
    Freetype 설치도움말 보기
    로그인한 가입자 제한된 시간동안 작업이 없을 때 로그아웃시키기(idled)
    LINUX 실무 TIP & TECH
    리눅스 전원부터 부팅이 되기까지의 과정이해... -강좌버전1.0-
    리눅스의 배포판버전, 커널버전확인방법 -강좌버전 1.0-
    RedHat Linux 7.X대 버전설치후 ftp, telnet 접속안될때 해결방법 -강좌버전 1.0-
    리눅스 로그파일관리(logrotate) -강좌버전 1.0-
    로그파일(syslog) 실무가이드 -강좌버전 1.0-
    최근 로그인(접속) 정보 확인법
    Linux CD-ROM 마운트하여 CD에 있는 rpm 설치하기
    리눅스 시스템로그구성 및 로그모니터링법
    CD-ROM 마운트하기
    리눅스서버의 IP Address 변경하기
    리눅스서버의 호스트네임 변경하기
    특정파일을 찾아서(find) 개별 정보확인하기
    해지사용자 일시 잠그기
    사용자 로그인시에 공지사항 알리기
    시스템 로그파일 이해하기
    리눅스와 Ftp
    리눅스로 구축한 FTP서버
    리눅스와 vi 에디터
    리눅스와 Telnet
    특정사용자의 소유된 파일을 전체시스템에서 찾고자할 때
    시스템에 로그인하기 전과 후에 보여주는 메시지를 편집하려면
    시스템이 ping에 응답하지 못하게 설정하려면
    리눅스시스템의 커널(Kernel)버전을 확인하려면
    telnet으로 root로그인은 가능하게 하려면
    메모리상태를 체크하려면
    시스템에 일시적으로 모든 사용자에 대해 로그인하지 못하게 하려면
    특정 사용자에 대해 일시적으로 로그인하지 못하게 하려면
    그룹별 계정생성하기
    웹호스팅 사용자 셋팅자동생성툴(AutoMaster)
    nice명령으로 실행우선순위 조절하기
    가입자에게 mysql을 사용할 수 있도록 PATH설정하기
    사용자별 용량제한(quota) 설정법 -upgrade-
    ftp로 원격서버의 데이터 자동백업하기
    해킹당한 명령어들 rpm 명령으로 (강제) 재설치하기