우겨대는 전여옥, 어이없는 이종석

[노컷뉴스   2006-10-11 01:11:16]

田 "무슨 근거로 '핵실험 절대 없다' 했나", 李 "그런 말 한 적 없다"

북한 핵실험과 관련한 대정부 긴급현안질의가 벌어진 10일 국회 본회의… 한나라당 전여옥 의원이 이종석 통일부 장관을 불러낸 뒤 다짜고짜 "10월 4일까지도 '핵실험 징후가 없고 절대로 할 리 없다' 무슨 근거로 그렇게 얘기 했냐"고 추궁했다.

이종석 장관은 "핵실험 징후는 특별히 발견하지 못했다'는 말을 한 건 사실이지만 '(핵실험을) 할 리가 없다'고 말한 적은 없다"고 답변했다.

그러자 전여옥 의원은 "속기록에 그렇게 얘기한 것으로 되어 있다"고 반박했다.

여유로운 웃음을 입가에 머금고 이 장관을 응시하는 전 의원의 표정에는 자신감이 넘쳤다.

하지만 이종석 장관도 흔들림이 없었다.

이 장관은 "그렇게 되어 있다면 속기록이 잘못된 것이다. 그렇게 말한 적 없다"고 맞섰다.

뜻밖에 이종석 장관이 강하게 나오자 전여옥 의원은 단상 위의 문서들을 뒤적거렸다.

일순간 전 의원의 얼굴에 당혹감이 스쳐 지나는 듯 했다.

전여옥 의원은 "자, 속기록에 이렇게 되어 있다. 내가 다 읽어주겠다"고 더듬거리며 말을 이어갔다.

그러나 전여옥 의원은 '(핵실험을) 절대 할 리 없다'는 구절을 자신이 손에 들고 있던 속기록 사본에서 찾을 수 없었다.

실제 이종석 장관이 그런 말을 한 사실이 전혀 없기 때문이었다.

북한이 외무성 성명을 통해 핵실험 계획을 발표한 바로 다음날인 지난 4일 긴급 소집된 국회 통외통위ㆍ국방위 연석회의에서의 이 장관 보고 내용을 정확하게 옮기면 이렇다.

"이 성명(북한 외무성 성명)은 저희들이 파악할 때는 미국의 태도 변화를 유도하기 위한 대미 압박 카드의 성격이 강한 것으로 파악하고 있습니다. 특히 지금 한미 간에 포괄적 접근 방안이 한참 협의 중에 있고, 또 다음 주에 중일, 한일, 한중 정상회담이 예정되어 있으며, 11월에 미국 중간선거가 있다는 점 등이 북한에게 고려됐던 걸로 보여집니다. 그러나 6자회담 재개와 관련된 노력이 불발로 끝날 경우에는 핵실험을 할 가능성이 높다고 보고 있습니다. 현재 핵실험을 실시하기 위한 구체적 징후는 없습니다"

'핵실험 징후는 특별히 발견하지 못했다'는 말을 한 건 사실이지만 '(핵실험을) 할 리가 없다'고 말한 적은 없다는 이종석 장관의 주장 그대로다.

속기록을 통해 자신이 착각했음을 확인했다면 깨끗하게 잘못을 인정하면 될 일이건만, 전여옥 의원은 논점(이 장관이 '핵실험을 절대 할 리 없다'고 말했는지 여부)을 흐리는 발언을 이어가며 계속 목소리를 높였다.

그러더니 전 의원은 느닷없이 "북한 핵실험이라는 최악의 상황에 대한 가장 큰 책임자인 만큼, 대통령의 부담을 덜어주기 위해 사퇴를 해야 되는 것 아니냐"고 이 장관을 다그쳤다.

북한 핵실험이라는 초유의 사태를 수습하느라 정신이 없는 마당에, 하지도 않은 말을 '했다'고 우겨대는 야당 의원의 공세에 시달리는 주무 장관의 표정에는 '어이가 없다'는 기색이 역력했다.

CBS정치부 이희진 기자 heejjy@cbs.co.kr



facebook posting twit

  • 예술
  • 2006년 황당/엽기 사건 베스트11
  • 삼촌의 굴욕
  • 생활의 발견
  • 코스프레 빈부 격차!
  • 개미와 배짱이 2
  • 13년의 저주
  • 추억의 싱하형 패러디 모음
  • 여자 친구한테 문자가 왔어요
  • 뻘쭘한 무술인
  • 개미와 배짱이 2

    요즘 세상이 변했다구 동화두 변하는구먼~
    이 패러디 동화를 보면 세상의 허무함을 단숨에 느낄수가 이써....

    개미와 배짱이 2
    개미와 배짱이 2
    개미와 배짱이 2
    개미와 배짱이 2
    개미와 배짱이 2
    개미와 배짱이 2

    facebook posting twit

  • 2006년 황당/엽기 사건 베스트11
  • 삼촌의 굴욕
  • 생활의 발견
  • 코스프레 빈부 격차!
  • 우겨대는 전여옥, 어이없는 이종석
  • 13년의 저주
  • 추억의 싱하형 패러디 모음
  • 여자 친구한테 문자가 왔어요
  • 뻘쭘한 무술인
  • 건담 vs 그레이트마징가
  • Internet Explorer의 검색창에서 한글 입력이 안될때

    1) 종합편

    ===========완벽한 해결법 입니다~========================================================
    윈도우 xp 에서 이 문제가 자주 발생하는데요
    (윈도우 2000에서도 발생되었음)

    먼저

    시작 - 설정 - 제어판 으로 들어 가셔서
    '국가및 언어옵션' 에 들어가세요.
    그다음
    위에 [국가별옵션] [언어] [고급] 중에서
    [언어] 에 들어가시구요. [자세히]로 들어가세요.
    그리고 보시면 네모칸에
       키보드
        *한국어     <-여기 한국어 를 누르시구요
    밑에 [키 설정] 을 누르세요.
    [★만약에! 가끔 키설정이 않눌러 지는 경우도 있는데요. 그럴때는
         거기  키보드 누르시고 옆에 [추가] 를 누르신 다음
         한국어 로 해서 아무렇게나 하나 만들어 주세요
         그리고 만드신걸 누르시고 [키 설정] 을 누르시면 됩니다~]


    그럼 고급 키 설정 창이 뜨는데요
    거기서~!!
    설정으로 되어있는 것 을 보시면
    ★셰프트+알트+마우스 왼쪽키 누르면 변환으로 되어있죠~?!
       (어떤분은 오른쪽 키로 되있는 분도 계실꺼에요)

    이것이 문제 입니다~'-';; 이걸 누르게 되면 언어변환이 되게 설정이되어있쬬 `,.`;;
    거기 3개를 두번 클릭 하셔서 설정을 없에 주세요~
    (설정되있는 동그라미를 한번 더 누르시면 취소 됩니다)

    입력 언어간 전환                                                  (없음)
    한국어-한국어(으)로 전환                                      (없음)
    한국어-한국어 입력 시스템(MS-IME2002)(으)로 전환 (없음)

    이렇게요~!

    그리고 다른거 전부 확인 확인 해주시면서 꺼주시면 됩니다~^^;;

    이렇게만 해주시면 다시~~는 한/영 변환이 이상하게 되지 않죠^^
    맘놓고 Alt+Shift+마우스 왼쪽 실컷 누르죠 ㅎ_ㅎ;

    ☆ 아참. 아까 [키 설정]이 안눌러져서 새로 하나 추가해서 만드신 다음
        옵션 변경하신 분들은 설정 다 하신다음
        위에 [기본 입력 언어] 에서
        아까 추가해서 만드신 걸로 골라주시고 확인 누르시고 나오시면 됩니다~'-'/]



    2) Internet Explorer의 검색창에서 한글 입력이 안될때 (win98.ME)

    1. [시작] - [실행]을 클릭
    2. "Regsvr32.exe /u msimtf.dll"을 입력후 확인후 메세지가 나오면 [확인]
    3. "Regsvr32.exe /u msctf.dll"을 입력후 확인후 메세지가 나오면 [확인]
    4. [시작] - [실행] - "regedit"를 입력후 [확인] 또는 Enter를 눌러 레지스트리 편집기를 실행.
    5. HKEY_CURRENT_USER->Software->Microsoft->Windows->CurrentVersion->Run 항목에서
       "ctfmon.exe" 삭제
       KEY_CURRENT_USER->Software->Microsoft->Windows->CurrentVersion->Run
    에서, ctfmon.exe ->삭제



    3) Internet Explorer의 검색창에서 한글 입력이 안될때 (XP계열)

    한글입력/한영전화기능 도움말 - (주로)대법원관련자료

    주로 윈도우 xp에서 나타나는 현상으로, 일부xp의 경우 아래항목중 없거나 비활성화 되어있는 경우 무시하고 다음처리로 넘어가시면됩니다.

    1.[제어판->국가 및 언어 옵션->언어 탭] '자세히'버튼선택
    2.[택스트서비스 및 입력언어화면->설정 탭]설치된 서비스->한국어->키보드:한국어와 한글입력기 설치여부확인(둘다 설치되어 잇어야 하며,설치되어 있지 않은 항목은 오른쪽의 '추가'버튼을 선택하여 추가함)
    3.[텍스트서비스 및 입력언어화면->설정 챕]기본설정-> '키설정' 버튼선택
    4.[고급키 설정 화면] '키시퀀스변경'버튼 선택->채크박스를 모두(입력언어전환,자판배열전환) 해제
    5.[텍스트서비스 및 입력언어화면->고급 탭] 시스템구성->고급텍스트 서비스 사용안함 체크
       ( 저는 이것만해도되더군요^^)
    6.시스템 재부팅
    7.동일한 현상이 나타나면다음과 같이 수행하여 주시기 바랍니다

    1. 시작->제어판->키보드->하드웨어->속성->드라이버->드라이버 업데이트 클릭
    2. 하드웨어 업데이트 마법사 창에서 목록 또는 특정 위치에서 설치(고급) 선택
    3. 검색안함. 설치할 드라이버를 선택할 것임 을 선택 후 다음 누름
    4. 호환가능한 하드웨어 표시에 체크표시를 해제함
    5. 제조업체에서 표준키보드를 선택하고 PC/AT 101키 호환 키보드를 선택, 한/영 키가 키보드에 있다면 한글 103/106키를 선택하고, 한/영변환키가 없다면 101키 호환 키보드를 선택



    facebook posting twit

  • 간단히 WIN32에서 MFC의 메모리 누수 체크하는 방법
  • VC++ 6.0 에서 GDI+ 사용하기..
  • GDI+를 이용한 회전 3가지….
  • MFC의 GDI/GDI+ 리소스 누수 현상
  • UTF-8로 파일 저장하기
  • 프린터 인쇄 취소가 안될때
  • spoolsv.exe의 문제 cpu점유률 100%
  • Region을 이용한 부정형 윈도 만들기
  • InternetOpenURL로 폼에다 데이터를 포스팅하는 방법
  • 특정 문자열을 찾아주는 함수 StrFnd
  • 프린터 인쇄 취소가 안될때

    1) 제어판 -> 관리도구 -> 서비스 실행
    2) Print spooler에서 상태는 시작됨, 시작유형 자동으로 한다.
    3) 마우스 오른쪽버튼을 이용해 다시 시작을 선택한다.
    4) 인쇄취소를 한다

    facebook posting twit

  • VC++ 6.0 에서 GDI+ 사용하기..
  • GDI+를 이용한 회전 3가지….
  • MFC의 GDI/GDI+ 리소스 누수 현상
  • UTF-8로 파일 저장하기
  • Internet Explorer의 검색창에서 한글 입력이 안될때
  • spoolsv.exe의 문제 cpu점유률 100%
  • Region을 이용한 부정형 윈도 만들기
  • InternetOpenURL로 폼에다 데이터를 포스팅하는 방법
  • 특정 문자열을 찾아주는 함수 StrFnd
  • 지금 사용중인 Proxy 알아내는 함수
  • 익스플로러를 키면 인터넷이 꺼지는 경우

    <출처 : 오늘아침 뉴스에 나오더군요. >
     

    익스플로러를 키면 자동으로 인터넷이 꺼져버리는 현상.

    제어판 - 인터넷옵션 - 고급 - 타사 브라우저 확장명 사용(다시 시작해야 함) 체크해제

    물론 다른 이유때문에 그런경우도 있습니다.



    facebook posting twit

  • SEPT 시험 출제 경향
  • 김치찌게 끓이는 법
  • 샤브샤브 만드는 방법
  • 생활속에서 머리가 좋아지는 방법
  • 머리가 좋아지는 11가지 비결
  • 핵심인재요건…개인-좋은 인간관계, 회사-글로벌 인재
  • `11.15 대책`으로 서울 집값 잡기는 역부족
  • 무선 Skype 전화기 2종 비교 – Belkin & Netgear
  • 큰일 보고 물 내릴 때는 반드시 변기 뚜껑을 닫아라
  • Skype의 경쟁자에 면밀한 관찰
  • spoolsv.exe의 문제 cpu점유률 100%

    이상하게 PC가 느려서 Task Manager를 봤는데 spoolsv.exe의 cpu점유률이 100% 인 경우가 있는가?

    십중팔구 프린터 스풀 문제로 사료된다.

    다음의 방법으로 슬기롭게 해결해보자.

    방법1) 스풀러 리스트 클리어

    지식 검색후 나랑 같은 문제에 봉착한 사람들이 많은 것 같아
    알고있는 것을 나눌려고 합니다.

    Spoolsv.exe이 cpu를 다잡아 먹을 때,

    우선 control + alt + del 키를 누르고 Task manager에서 지금 동작 중인 Spoolsv.exe의 작업을 강제 종료시킵니다.

    그런 다음 C:WINDOWSsystem32spoolPRINTERS 에 가셔서 모든 파일을 지우세요

    그럼 작업 끝

    P.S : 나중에도 이런 현상이 나타날 수 있습니다. 왜냐면 웹상에서 인쇄하다 보면 필요없는 것들이 스풀되는데 이것들을 프린터에서 처리할 수 없다면 계속 남아서 스풀처리를 할려고 할테고 그럼 전과 같이 Spoolsv.exe가 높아질 것이기 때문입니다.


    방법2) 프린터 공유 문제 의심

    제어판 -> 프린터 및 팩스 -> Microsoft Office Document Image Writer 에서 오른쪽 마우스 클릭 -> 속성 -> 공유

    보시면 혹시 공유로 되어 있지 않나요?

    공유 안함으로 해보세요^^



    facebook posting twit

  • GDI+를 이용한 회전 3가지….
  • MFC의 GDI/GDI+ 리소스 누수 현상
  • UTF-8로 파일 저장하기
  • Internet Explorer의 검색창에서 한글 입력이 안될때
  • 프린터 인쇄 취소가 안될때
  • Region을 이용한 부정형 윈도 만들기
  • InternetOpenURL로 폼에다 데이터를 포스팅하는 방법
  • 특정 문자열을 찾아주는 함수 StrFnd
  • 지금 사용중인 Proxy 알아내는 함수
  • INET을 활용하여 웹페이지 긁어오기
  • http-2.2.3에서 ssl 설치

    httpd-2.2.3, php-5.2.0 + ssl 의 설치내용입니다.
    ssl설치하다 아파치의 conf파일설정이 2.2.0부터는 변경되 삽질을 좀 했습니다.
    그래서 변경된 설정내용을 적었습니다.
    httpd.conf 가 여러개로 나누어졌다는 것이 주내용입니다.
    conf/extra 아래 여러 conf 파일이 있습니다.

    기본적인 설치내용이며 ssl은 rpm으로 기본설치된 상태에서 했습니다.
    php 컴파일시 xml관련 필요한 프로그램을 요구하는데,
    설치하거나 옵션을 disable 해야합니다.


    ------------------------------------------------------------------------------------
    위치 : /usr/local/src/httpd-2.2.3

    ./configure --prefix=/usr/local/apache2 --enable-so --enable-ssl --with-ssl=/usr
    make
    make install


    위치 : /usr/local/src/php-5.2.0

    ./configure --prefix=/usr/local/php5 --with-mysql --with-apxs2=/usr/local/apache2/bin/apxs
    make
    make install

    cp php.ini-dist /usr/local/php5/lib/php.ini



    위치 : /usr/local/apache2/

    vim conf/httpd.conf
        DocumentRoot "/www/htdocs"
        ServerAdmin ADMIN@DOMAIN.COM

        # <Directory "/">
        # Order deny,allow
        # Deny from all
        # </Directory>
        # 이런설정이 디폴트여서 사용하는 디렉토리의 Allow를 해주지 않으면
        # 웹에서 접근시 403에러가 난다.
        # 웹에서 사용되는 가상호스트의 디렉토리에 대해 Allow from all 한다.
        <Directory "/www/htdocs">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
        </Directory>

        <Directory "/www/htdocs2">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
        </Directory>

        AddType application/x-httpd-php .php

        # 가상호스트사용을 위해서는 주석을 제거
        Include conf/extra/httpd-vhosts.conf

        # ssl사용을 위해서는 주석을 제거
        Include conf/extra/httpd-ssl.conf



    vim conf/extra/httpd-vhosts.conf
        # 가상호스트설정 내용이 파일에 들어 있으니 수정해야 한다.



    vim conf/extra/httpd-ssl.conf
        # DocumentRoot, ServerName, SSLCertificateFile, SSLCertificateKeyFile
        # 이와 관련된 내용만 수정하면 됨
        # 인증관련파일은 인증서 구입한 곳에서 인증서생성 메뉴얼을 주더군요.
        # 구입한 인증서 crt, key 파일 위치로 변경

        DocumentRoot "/www/htdocs"
        ServerAdmin ADMIN@DOMAIN.COM
        SSLCertificateFile /usr/local/apache2/conf/server.crt
        SSLCertificateKeyFile /usr/local/apache2/conf/server.key




    실행
    /usr/local/apache2/bin/apachectl start
       # startssl 이 더이상 되지 않는다. 그냥 start이다.

    https://WWW.DOMAIN.COM 에 들어가서 확인.







    httpd.conf, httpd-vhosts.conf, httpd-ssl.conf 파일내용.


    httpd.conf
    ----------------------------------------------------
    ServerRoot "/usr/local/apache2"
    Listen 80
    LoadModule php5_module        modules/libphp5.so
    <IfModule !mpm_netware_module>
    User nobody
    Group nobody
    </IfModule>
    ServerAdmin ADMIN@DOMAIN.COM
    DocumentRoot "/www/htdocs"
    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>
    <Directory "/www/htdocs">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    <Directory "/www/htdocs2">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    <IfModule dir_module>
        DirectoryIndex index.php index.html
    </IfModule>
    <FilesMatch "^.ht">
        Order allow,deny
        Deny from all
        Satisfy All
    </FilesMatch>
    ErrorLog logs/error_log
    LogLevel warn
    <IfModule log_config_module>
        LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
        LogFormat "%h %l %u %t "%r" %>s %b" common
        <IfModule logio_module>
          LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
        </IfModule>
        CustomLog logs/access_log common
    </IfModule>
    <IfModule alias_module>
        ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
    </IfModule>
    <IfModule cgid_module>
    </IfModule>
    <Directory "/usr/local/apache2/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>
    DefaultType text/plain
    <IfModule mime_module>
        TypesConfig conf/mime.types
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
        AddType application/x-httpd-php .php
    </IfModule>
    Include conf/extra/httpd-vhosts.conf
    Include conf/extra/httpd-ssl.conf
    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>



    httpd-vhosts.conf
    ----------------------------------------------------
    NameVirtualHost *:80
    <VirtualHost *:80>
        ServerAdmin ADMIN@DOMAIN.COM
        DocumentRoot /www/htdocs
        ServerName WWW.DOMAIN.COM
        ServerAlias DOMAIN.COM
        ErrorLog logs/www_error_log
        CustomLog logs/www_access_log common
    </VirtualHost>
    <VirtualHost *:80>
        ServerAdmin ADMIN@DOMAIN.COM
        DocumentRoot /www/htdocs2
        ServerName WWW2.DOMAIN.COM
        ErrorLog logs/www2_error_log
        CustomLog logs/www2_access_log common
    </VirtualHost>



    httpd-ssl.conf
    ----------------------------------------------------
    Listen 443
    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl    .crl
    SSLPassPhraseDialog  builtin
    SSLSessionCache        shmcb:/usr/local/apache2/logs/ssl_scache(512000)
    SSLSessionCacheTimeout  300
    SSLMutex  file:/usr/local/apache2/logs/ssl_mutex
    <VirtualHost *:443>
    DocumentRoot "/www/htdocs"
    ServerName www.DOMAIN.COM:443
    ServerAdmin ADMIN@DOMAIN.COM
    ErrorLog /usr/local/apache2/logs/error_log
    TransferLog /usr/local/apache2/logs/access_log
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /usr/local/apache2/conf/server.crt
    SSLCertificateKeyFile /usr/local/apache2/conf/server.key
    <FilesMatch ".(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "/usr/local/apache2/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>
    BrowserMatch ".*MSIE.*"
             nokeepalive ssl-unclean-shutdown
             downgrade-1.0 force-response-1.0
    CustomLog /usr/local/apache2/logs/ssl_request_log
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
    </VirtualHost>


    facebook posting twit

  • 동적 이미지(실시간 그래프) 생성하기
  • 발신전용 메일서버 만드는 방법
  • 구글 검색시 순위 올리기
  • 사이트 트래픽의 주범 웹봇 차단하기 – robots.txt
  • CGI 만들때 파라메터 얻어오기
  • 초간단 php-oracle 연동 클래스
  • 금액을 입력할때 세자리마다 컴마찍기
  • 쿠키 세팅하기
  • 초간단 AJAX 샘플
  • Hello World 뿌리기
  • 초간단 php-oracle 연동 클래스

    PHP에서 오라클 연동하려면 좀 고통스럽다.

    뭔가 mySQL이랑 좀 다른 부분도 있는것 같고..

    하여 클래스로 만들어보았다.



    class Oracle
    {
      var $DBID = "id";
      var $DBPW = "pw";
      var $DBSID = "sid";

      var $conn;
      var $stmt;
            
      var $error = false;    // 에러 발생하면 true 로 수정됨. commit,rollback 결정에 사용
      var $transaction = false;    // true 면 auto commit 않함

      var $bind = array();
      var $data_size = array();

      // php4 의 생성자
      function Oracle(){    
                
        $this->connect();
      }
      // php5 의 생성자
      function __construct(){    
                
        $this->connect();
      }
      // php5 의 소멸자
      function __destruct(){    
                
        $this->disconnect();
      }

      function connect(){

        if(!$this->conn)
          $this->conn = OCILogon($this->DBID,$this->DBPW,$this->DBSID);
      }
            
      function disConnect(){

        if($this->stmt)
          @OCIFreeStatement($this->stmt);
        if($this->conn)
          @OCILogoff($this->conn);
      }
      // 바인드변수 값 지정
      // 같은 값이라도 executeDML() 호출전에 반드시 매번 호출해야 함(executeDML() 함수호출후 초기화되므로)
      function setBind($bind){

        if(is_array($bind))
          $this->bind = $bind;
        else if($bind)
          $this->bind = array($bind);
      }
      // 바인드변수 사이즈 지정. 지정안하면 해당변수의 최대사이즈가 기본값임
      function setDataSize($data_size){

        if(is_array($data_size))
          $this->data_size = $data_size;
        else if($data_size)
          $this->data_size = array($data_size);
      }
      // 쿼리문 결과를 '다중배열($rs[필드명][인덱스])'로 리턴한다
      // $preferch_size는 가져올 레코드건수를 지정함(옵션)
      function selectList($query,$preferch_size=1){
                
        $this->connect();
        $this->stmt = OCIparse($this->conn,$query);

        if($this->stmt){

          $this->bindByName();                                                        
          $this->prefetch($preferch_size);                                        

          if($this->transaction){                        
            @OCIexecute($this->stmt,OCI_DEFAULT);
            $this->error();
          }else{
            @OCIexecute($this->stmt);
          }
          $rows = @OCIFetchStatement($this->stmt,$rs);                
        
          if($rows){                    
            if(!$this->transaction)
              @OCIFreeStatement($this->stmt);
            return $rs;
          }
        }            
        return array();
      }
      // 쿼리문 결과 1건을 '배열($rs[필드명 or 인덱스])'로 리턴한다
      // $option 은 OCI_ASSOC(필드명) or OCI_NUM(인덱스) 을 지정(옵션)
      function selectRow($query,$option=OCI_ASSOC){
                
        $this->connect();
        $this->stmt = OCIparse($this->conn,$query);

        if($this->stmt){

          $this->bindByName();

          if($this->transaction){                        
            @OCIexecute($this->stmt,OCI_DEFAULT);
            $this->error();
          }else{
            @OCIexecute($this->stmt);
          }
          if(@OCIFetchInto($this->stmt,$rs,$option+OCI_RETURN_NULLS)){
            if(!$this->transaction)
              @OCIFreeStatement($this->stmt);
            return $rs;
          }                    
        }            
        return array();
      }
      // 한개 값만 리턴하는 쿼리문을 처리한다
      // ROWID,LOB,FILE 등 외에는 스트링으로 반환한다
      function selectOne($query){

        $this->connect();
        $this->stmt = OCIparse($this->conn,$query);        

        if($this->stmt){

          $this->bindByName();

          if($this->transaction){                        
            @OCIexecute($this->stmt,OCI_DEFAULT);
            $this->error();
          }else{
            @OCIexecute($this->stmt);
          }
          if(@OCIFetch($this->stmt)){

            // 인수 1은 컬럼순서 인덱스(1부터 시작함에 주의!,컬럼명 지정도 가능)
            $value = @OCIResult($this->stmt,1);    
            if(!$this->transaction)
              @OCIFreeStatement($this->stmt);
            return $value;
          }
        }
      }
      // insert,update,delete등을 실행후 영향받은 로우의 갯수를 리턴한다(auto commit일 경우만 갯수를 리턴함)
      // $transaction=true 일 경우 마지막에 반드시 commit() 함수를 호출한다
      function executeDML($sql){

        $this->connect();
        $this->stmt = OCIparse($this->conn,$sql);    
                
        if($this->stmt){

          $this->bindByName();

          if($this->transaction){    // auto commit 이 아닐 경우
            @OCIexecute($this->stmt,OCI_DEFAULT);
            $this->error();
          }else{
            @OCIexecute($this->stmt);
            $num = @OCIRowCount($this->stmt);
            @OCIFreeStatement($this->stmt);
                        
            return $num;                    
          }
        }
      }
      // auto commit 않하고 명시적으로 transaction 시작
      // executeDML() 호출후 마지막에 반드시 commit() 함수를 호출한다
      function transaction(){

        $this->transaction = true;
      }
      // transaction 완료후 commit 이면 true를 리턴함
      // executeDML() 에서 에러가 하나라도 발생하면 자동 rollback 됨
      function commit(){

        if(!$this->error){
          @OCICommit($this->conn);
          $commit = true;
        }else{
          @OCIRollback($this->conn);
          $commit = false;
        }
        if($this->stmt)
          @OCIFreeStatement($this->stmt);

        $this->transaction = false;
        $this->error = false;

        return $commit;
      }
      // $transaction=true 일 경우 매번 executeDML 에서 자동호출된다
      // 에러 발생할 경우 commit,rollback의 판단기준인 $error 값을 변경
      function error(){

        if($error = @OCIError($this->stmt)){                
          //echo "<p> Error is : " . $error["code"] . " - " . $error["message"] . "<p>";
          $this->error = true;
        }
      }
      // :b1,:b2,:b3...에 바인드 변수 지정
      // 바인드변수명은 반드시 :b1,:b2,:b3... 으로 지정한다
      function bindByName(){

        $size = sizeof($this->bind);

        for($i=0 ; $i < $size ; $i++){

          $ds = $this->data_size[$i];
          if(!$ds) $ds = -1;

          @OCIBindByName($this->stmt,":b".($i+1),$this->bind[$i],$ds);
        }
        $this->bind = array();                                                        
        $this->data_size = array();
      }
      // 오라클 클라이언트 버퍼에 저장되는 레코드의 수를 지정
      // 여러 레코드를 select할 경우 디폴트 값이 작아서 비효율적이면 가져올 건수만큼 지정
      function prefetch($preferch_size){

        if($preferch_size > 1)
          @OCISetPrefetch($this->stmt,$preferch_size);
      }
    }

    ################# 여기서부터 사용예 입니다 #################

    1. 여러건의 레코드를 select 할 경우
    $db = new Oracle();
    $query = "select title,name,date from tb where ... 생략";
    $rs = $db->selectList($query);
    for( $i=0 ; $i < sizeof($rs["TITLE"]) ; $i++ ){
        echo $rs["TITLE"][$i] . $rs["NAME"][$i] . $rs["DATE"][$i] . "<br>";
    }
    * 주의하실건 꼭 배열에 대문자로 적으셔야 한다는 겁니다

    2. 한건의 레코드를 select 할 경우
    $query = "select title,name,date from tb where rownum=1";
    $rs = $db->selectRow($query);
    echo $rs["TITLE"] . $rs["NAME"] . $rs["DATE"];

    3. 한개값을  select 할 경우
    $query = "select count(*) from tb";
    $value = $db->selectOne($query);
    echo "총 " . $value . " 건 입니다";

    4. insert,update,delete 할 경우
    $sql = "insert into tb (title,name) values ('$title','$name')";
    $rs = $db->executeDML($sql);
    if($rs){
     echo $rs . " 건의 데이터를 처리하였습니다";
    }    

    5. 트랜젝션 처리
    $sql1 = "insert into tb1 ... 생략";
    $sql2 = "insert into tb2 ... 생략";
    $sql3 = "insert into tb3 ... 생략";
    $db->transaction();
    $db->executeDML($sql1);
    $db->executeDML($sql2);
    $db->executeDML($sql3);
    $rs = $db->commit();
    if($rs){
      echo "처리 성공!";
    }else{
      echo "에러 발생!";
    }
    transaction() 함수를 호출하면 auto commit 이 false 가 되며 마지막에 commit() 함수를 호출하면 에러가 하나라도 발생하면 자동으로 롤백됩니다 물론 에러가 없으면 커밋되구요 함수명이 commit 이라고 무조건 커밋되는거 아닙니다 ^^
    transaction() 함수를 호출않하고 executeDML()을 사용하면 항상 auto commit 입니다

    6. 바인드변수 사용
    $query = "select name from tb where id=:b1 and pw=:b2";
    $bind = array($id,$pw);
    $db->setBind($bind);
    $name = $db->selectOne($query);
    echo $name;

    바인드 변수명은 꼭 :b1,:b2,:b3... 이런식으로 지정하며 setBind() 함수에 배열로 값을 넘겨줍니다
    바인드변수가 :b1 한개만 사용된 경우는 배열이 아니라 값하나만 넘겨도 됩니다(아래예 처럼)
    넘겨진 값은 selectXxx(),executeDML()등의 함수사용후에 초기화되므로 함수 실행전에 매번 setBind() 함수를 호출해야 합니다
    아래예는 틀린 사용예입니다 $cnt2 에는 아무값도 없습니다
    $query1 = "select count(*) from tb1 where id=:b1";
    $query2 = "select count(*) from tb2 where id=:b1";
    $db->setBind($id);
    $cnt1 = $db->selectOne($query1);
    $cnt2 = $db->selectOne($query2);

    아래예가 옳은 사용예입니다
    $db->setBind($id);
    $cnt1 = $db->selectOne($query1);
    $db->setBind($id);
    $cnt2 = $db->selectOne($query2);

    7. 트랜젝션 처리와 바인드 변수 사용
    $sql1 = "insert into tb(title,name) values(:b1,:b2)";
    $sql2 = "update tb2 set addr=:b1 where id=:b2";
    $bind1 = array($title,$name);
    $bind2 = array($addr,$id);
    $db->transaction();
    $db->setBind($bind1);
    $db->executeDML($sql1);
    $db->setBind($bind2);
    $db->executeDML($sql2);
    $rs = $db->commit();
    if($rs){
      echo "처리 성공!";
    }else{
      echo "에러 발생!";
    }

    facebook posting twit

  • 발신전용 메일서버 만드는 방법
  • 구글 검색시 순위 올리기
  • 사이트 트래픽의 주범 웹봇 차단하기 – robots.txt
  • CGI 만들때 파라메터 얻어오기
  • http-2.2.3에서 ssl 설치
  • 금액을 입력할때 세자리마다 컴마찍기
  • 쿠키 세팅하기
  • 초간단 AJAX 샘플
  • Hello World 뿌리기
  • 텍스트 인쇄하기
  • 금액을 입력할때 세자리마다 컴마찍기

    IE 6.0에서는 되는데 다른곳에서는 어떨지.........???


    <html>
    <head>
    <title>컴마찍기</title>
    <Script Language='Javascript'>
    <!--
    function comma(comma_rstr) {                
        var nocomma = comma_rstr.value.replace(/,/gi,''); // 불러온 값중에서 컴마를 제거
        var b = ''; // 값을 넣기위해서 미리 선언
        var i = 0; // 뒤에서 부터 몇번째인지를 체크하기 위한 변수 선언
        for (var k=(nocomma.length-1); k>=0; k--) { // 숫자를 뒤에서 부터 루프를 이용하여 불러오기
            var a = nocomma.charAt(k);
            if (k == 0 && a == 0) {  // 첫자리의 숫자가 0인경우 입력값을 취소 시킴
                comma_rstr.value = '';
                return;
            }
            else {
                if (i != 0 && i % 3 == 0) { // 뒤에서 3으로 나누었을때 나머지가 0인경우에 컴마 찍기 i가 0인 경우는 제일 뒤에 있다는 것이므로 컴마를 찍으면 안됨
                    b = a + "," + b ;
                }
                else { // 나머지가 0인 아닌경우 컴마없이 숫자 붙이기
                    b = a + b;
                }
                i++;
            }
        }
        comma_rstr.value = b; // 최종값을 input값에 입력하기
        return;
    }
    //-->
    </Script>

    </head>

    <body>
    <form name=commatest>
    <input type=text name=commatestinput onKeyup=comma(document.commatest.commatestinput)>
    </form>
    </body>
    </html>

    facebook posting twit

  • 구글 검색시 순위 올리기
  • 사이트 트래픽의 주범 웹봇 차단하기 – robots.txt
  • CGI 만들때 파라메터 얻어오기
  • http-2.2.3에서 ssl 설치
  • 초간단 php-oracle 연동 클래스
  • 쿠키 세팅하기
  • 초간단 AJAX 샘플
  • Hello World 뿌리기
  • 텍스트 인쇄하기
  • 세션을 이용한 카운터
  • 13년의 저주

    13년의 저주

    facebook posting twit

  • 삼촌의 굴욕
  • 생활의 발견
  • 코스프레 빈부 격차!
  • 우겨대는 전여옥, 어이없는 이종석
  • 개미와 배짱이 2
  • 추억의 싱하형 패러디 모음
  • 여자 친구한테 문자가 왔어요
  • 뻘쭘한 무술인
  • 건담 vs 그레이트마징가
  • 짝퉁 욘사마
  • 쿠키 세팅하기

    ajax 프로그래밍 하다보면 쿠키가 필요할 때가 있다.

    이때는 setcookie 함수를 사용해 주면 되겠다.
    내장되어져 있지 않으므로 다음과 같이 구현해 주기 바란다.

    function SetCookie(cookieName,cookieValue,nDays)
    {
       var today = new Date();
       var expire = new Date();
       if (nDays==null || nDays==0) nDays=1;
       expire.setTime(today.getTime() + 3600000*24*nDays);
       document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
    }


    facebook posting twit

  • 사이트 트래픽의 주범 웹봇 차단하기 – robots.txt
  • CGI 만들때 파라메터 얻어오기
  • http-2.2.3에서 ssl 설치
  • 초간단 php-oracle 연동 클래스
  • 금액을 입력할때 세자리마다 컴마찍기
  • 초간단 AJAX 샘플
  • Hello World 뿌리기
  • 텍스트 인쇄하기
  • 세션을 이용한 카운터
  • JSP DB 연결하기
  • 초간단 AJAX 샘플

    간단하게 테스트 할 수 있는 샘플이다.

       
    <html>
    <head>
    <title>Simple Ajax Example</title>
    <script language="Javascript">
    function xmlhttpPost(strURL) {
        var xmlHttpReq = false;
        var self = this;
        // Mozilla/Safari
        if (window.XMLHttpRequest) {
            self.xmlHttpReq = new XMLHttpRequest();
        }
        // IE
        else if (window.ActiveXObject) {
            self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
        }
        self.xmlHttpReq.open('POST', strURL, true);
        self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        self.xmlHttpReq.onreadystatechange = function() {
            if (self.xmlHttpReq.readyState == 4) {
                updatepage(self.xmlHttpReq.responseText);
            }
        }
        self.xmlHttpReq.send(getquerystring());
    }

    function getquerystring() {
        var form     = document.forms['f1'];
        var word = form.word.value;
        qstr = 'w=' + escape(word);  // NOTE: no '?' before querystring
        return qstr;
    }

    function updatepage(str){
        document.getElementById("result").innerHTML = str;
    }
    </script>
    </head>

    <form name="f1">
      <p>word: <input name="word" type="text"> 
      <input value="Go" type="button" onclick='JavaScript:xmlhttpPost("/cgi-bin/simple-ajax-example.cgi")'></p>
      <div id="result"></div>
    </form>
    </body>
    </html>



    facebook posting twit

  • CGI 만들때 파라메터 얻어오기
  • http-2.2.3에서 ssl 설치
  • 초간단 php-oracle 연동 클래스
  • 금액을 입력할때 세자리마다 컴마찍기
  • 쿠키 세팅하기
  • Hello World 뿌리기
  • 텍스트 인쇄하기
  • 세션을 이용한 카운터
  • JSP DB 연결하기
  • JSP 데이터 타입 선언
  • 추억의 싱하형 패러디 모음

    추억의 싱하형 패러디 모음

    메신져까지 진출한 싱하횽아~

    오늘은 엉아의 패러디 모음집을 올려본다.

    추억의 싱하형 패러디 모음

    추억의 싱하형 패러디 모음
    추억의 싱하형 패러디 모음
    추억의 싱하형 패러디 모음
    추억의 싱하형 패러디 모음
    추억의 싱하형 패러디 모음

    추억의 싱하형 패러디 모음


    facebook posting twit

  • 생활의 발견
  • 코스프레 빈부 격차!
  • 우겨대는 전여옥, 어이없는 이종석
  • 개미와 배짱이 2
  • 13년의 저주
  • 여자 친구한테 문자가 왔어요
  • 뻘쭘한 무술인
  • 건담 vs 그레이트마징가
  • 짝퉁 욘사마
  • 한국인에게 흔한 암

    가. 발생빈도

    우리 나라 암 발생빈도중 간암은 전체의 11.6%로 위암에 이어 두 번째로 흔한 암이다. 특히 남성에서 여상에 비해 3배나 높은 빈도를 보이는 것은 B형 간염바이러스 감염에 의한 만성 간질환이 간암의 가장 주요 원인인데, B형 간염바이러스에 의한 만성 간질환이 남성에서 더 많으며, 또한 남성들이 음주를 더 자주하기 때문일 것으로 생각된다. 남성 간암은 특히 55세를 전후하여 많이 나타나 활동적인 사회생활과 가정 생활에 심한 영향을 줄 수 있는 암이다.
    간암은 1990년대에 와서는 감소 추세로 들어서고 있으나 OECD국가중에서 우리 나라의 간암 사망률은 최고 수치를 기록하고 있다.

    나. 원인

    1) B형과 C형 간염- 우리 나라에서는 대부분 간염바이러스 감염에 의한 것으로 이 중 만성 간질환을 일으키는 B형과 C형이 간암과 깊은 관계가 있는 것으로 알려져 있어 B형 혹은 C형 간염바이러스에 감염된 사람은 간암의 고 위험군에 속한다.
    2) 만성적 음주- 간경변증이 생길 수 있고, 당연히 간암으로 발전할 확률도 높아져 간암의 고위험군에 속한다.
    3) 수직감염- 우리나라에서 B형 간염바이러스의 주요 전파 경로는 출생 전후에 B형 간염바이러스 보유 상태인 어머니가 아기에게 옮기는 모자감염이다. 간염바이러스 면역항체 및 백신 접종 등으로 모자(수직)감염을 차단할수 있다.

    일반적인 사회 생활로 B형 간염바이러스가 전염될 가능성을 그리 높지 않으며, 전염에 대해 특히 신경을 써야 하는 사람들은 주로 환자의 가족, 배우자, 의료인 혹은 검사실 종사자 등이다. B형 간염바이러스에 대한 자연 면역항체를 이미 가지고 있는 경우에는 대부분 예방이 가능하다.
    C 형 간염은 마약 사용자들과 같이 주사 바늘과 함께 사용하는 경우나 수혈에 의해서 전염될 수 있는데 수혈 혈액에 대한 검사가 시행되고 있으므로 수혈에 의한 전염은 대부분 방지가 가능하다.

    한국인에게 흔한 암

    다. 증상

    간암의 증상은 간염 및 간경변 등에 의한 증상이 주된 것이다. 즉, 식욕부진, 전신권태감, 복부팽만감, 변비, 설사, 황달, 급성복통, 빈혈 증상등이 그것이다. 경우에 따라 갑자기 황달이 심해지거나 갑자기 복수가 차오르고 토혈이나 하혈이 나타나기도 하고 원인 불명의 고열이 나타나기도 한다. 우상복부의 종괴가 만져지거나 명치주변의 둔통이 있을수도 있다. 간암이 횡경막을 자극하여 오른쪽 어깨 부위의 통증이 유발되기도 하고 심하면 간암이 파열되어 복강내로 출혈이 될 경우에는 급성 복통을 동반한 복막염증세와 빈혈이 나타나기도 한다.

    라. 진단

    간암 초기에는 특이 증상이나 증후 없이 서서히 진행하는 경우가 많아 증상이 생긴 후 병원을 찾으면 간암으로 진단될 당시에는 진행되어 치료가 어려운 경우가 많다. 그리고 간암 환자의 약 80%에서는 간경변증이 동반되어 있어 간암 자체보다 간경변증의 합병증으로 사망하는 경우가 많이 치료결과는 저조한 성적을 보인다. 간암 발생 위험도가 높은 환자군을 대상으로 정기 검진을 통하여 간암을 조기에 발견하여 근치적 치료가 가능하도록 하는 것이 바람직하다.

    1.혈액 검사(알파 피토프로테인): 간암이 만드는 특수 물질(종양표지자)로서 간암 초기부터 상승하므로 가장 널리 사용되고 있다. 그렇지만 일부에서는 상승하니 않는 경우도 있고, 만성간염의 경우에는 수치가 상승하는 경우도 있다 .
    2.영상 검사 방법: 간초음파검사, 전산화단층촬영(CT)검사, 혹은 자기공명영상검사(MRI)그리고 간혈관조영술 등이 있다. 간초음파 검사가 간편하고 경제적이고 또한 정확도도 높아서 간암을 발견하는데 가장 우선적으로 이용된다.
    3.침생검: 영상진단이나 혈액검사로 전형적인 결과를 찾아내지 못한 경우 초음파 검사와 병행하여 가는 바늘을 찔러넣어 조직을 채취하는 침생검이 시행되며 조직학적으로 확진된다.

    마. 치료

    1. 간절제술: 간암 치료는 외과적 절제가 기본이다. 그러나 우리나라 간암 환자의 약 80%에서 간기능이 저하된 간경변증을 동반하고 있어 수술이 가능한 경우가 많지 않다. 따라서 수술전 간기능검사를 통해 수술후 잔존 간기능을 예측하여 생활이 가능한 경우 수술을 시행한다. 간절제술을 받은 사람들의 완치율은 약 50%이다.

    수술의 적응증
    - 체력이 좋고 간기능적으로는 자각증상이 없는 경우.
    - 복수, 황달이 업서야 한다.
    - 종괴의 크기가 작고 수가 작을수록 좋다.
    - 암이 여러 개인 경우 좁은 범위에 모여있는 쪽이 유리
    - 우엽이나 좌엽 한쪽에만 존재하는 것이 유리
    - 경계가 분명한 경우 수술예후가 매우 양호하다.

    2. 간동맥 화학색전술: 간의 혈관 공급은 간동맥외에 장에서 오는 문맥으로도 혈관공급을 받는다. 그러나 간암의 겨 우는 간동맥을 통해서만 공금을 받고 있어 간동맥을 막을 경우 정상적인 간세포는 문맥으로부터 산소 공급을 받고 계속 생존할 수 있지만 간암세포는 산소부족에 괴사가 일어나게 된다. 수술적 절제가 불가능한 간암에서 이 방법으로 치료한 경우 1년, 2년, 3년 생존할 확률이 각각 50%,30%, 및 10-20%정도이다. 단점은 괴사가 일어난 종괴의 주변에서 다시 우회적 혈관공급이 생길수 있어 암이 다시 자랄수 있다는 점이다.

    3. 경피적 에탄올주입법: 초음파를 보면서 에탄올을 종양내에 직접 주사하여 조직의 탈수, 응고와 혈관 폐쇄의 기전으로 암세포를 파괴하는 치료법이다. 종양이 큰 경우에도 간동맥 화학색전술과 병행하여 치료함으로서 좋은 치료결과를 얻을 수도 있다. 에탄올은 경제적으로도 싸고 또한 상대적으로 안전하게 사용할 수 있는 장점이 있다.

    4. 고주파소작법: 초단파를 이용하여 열을 발생시켜 종양의 조직을 괴사시키는 방법이다. 비교적 5cm 이하 작은 크기의 간암에서 효과를 거두고 있다.

    5. 홀미움 주입법: 또한 방사성 동위원소(홀미움)를 간동맥을 통해 종괴에 투여하여 고선량의 방사선으로 암을 치료하는 방법으로 최근 좋은 결과를 보고하고 있다. 홀미움이 베타선을 주로 내기 때문에 시술자나 주위 사람들에게는 방사선 피해가 전혀 없으며 암종에만 국한되어 방사선을 내므로 치료효율을 높힐수 있다.

    6. 3차원 입체조형 방사선치료: 위의 방법으로 치료가 어려운 진행된 간암의 경우 최근 방사선치료가 암진행을 저지하고 생존기간을 연장하는 결과가 나오고 있고 특히 최근 3차원 입체조형치료 기술의 발달로 정상조직손상을 최소화 하고 고선량의 방사선을 합병증없이 치료할 수 있게 되어 치료효과를 높이고 있다.

    7. 전신적 항암화학요법: 항암제 치료는 정맥에 투여하는 전신요법이나 간동맥에만 투여하는 국소요법이 있는데 일부의 효과를 보이고 있는 실정이다.

    8. 간이식술: 간암 환자에서 간이식 성적은 아직도 실망적인데 많은 경제적 부담에도 불구하고 재발이 흔하고 간 절제술의 경우와 차이가 없다. 크기가 적은 간암의 경우 간경변증 때문에 간기능이 매우 저하되어 있어서 다른 치료법을 전혀 시행할 수 없는 경우에는 간이식을 고려해 볼수 있다.

    한국인에게 흔한 암



    facebook posting twit

  • 체온 낮추면 수명 늘어
  • 눈 ‘건강 7계명’ 지키세요
  • 책 <아토피, 환원수로 고칠 수 있다> 요약
  • 알칼리 환원수란?
  • 간기능의 지표 GOT/GPT
  • 물 많이 마시면 암 예방에 좋다?
  • 겨울철 실내먼지,세균득실 호흡기 질환 유발
  • 물 많이 마시면 암 예방에 좋다?

    “당신은 하루에 얼마나 많은 물을 마시나요? 식사후나 특별히 갈증나지 않으면 안마신다고요? 건강하게 오래 살고 싶으신가요? 그럼 열심히 물을 드세요.”
    물-.정말 물을 물로 봐서는 안된다.우리 몸에 물처럼 귀중한 것이 또 있을까? 몸에서 물 없이 이뤄지는 대사나 작용은 거의 없다. 물이 없으면 생명도 없다. 이처럼 물의 중요성은 아무리 강조해도 지나치지 않지만, 물은 우리 주위에서 너무 흔해 절감하지 못하고 있다. 물과 건강의 관계를 한림대성심병원 신장내과의 도움으로 알아본다.

    우선 우리 몸에서 물의 기능을 살펴보면 물은 입-위장관-간-심장-혈액-신장-배설의 형태로 순환하면서 세포 형태를 유지하고 대사작용을 높이며, 혈액과 조직액의 순환을 원활하게 한다. 또 영양소를 용해시키고, 이를 필요로하는 세포에게 공급해주고, 체내에서 불필요한 노폐물을 체외로 배출시킨다. 혈액을 중성 내지 알칼리성으로 유지시키며, 체내의 열을 발산시켜서 체온조절의 역할을 하는 등 생명유지 필수작용을 하게 된다. 따라서 물의 순환에 따라 우리 몸의 건강 정도를 판단할 수 있기도 하다.

    우리 몸의 50-60%는 물로 이루어져 있다. 이러한 비율의 차이는 몸에서 지방이 차지하는 정도에 따라 수분 비율이 달라지기 때문. 따라서 여성, 노인, 비만한 사람들의 경우 수분 비율이 적으며, 남성에서 수분 비율이 높다. 인체에 한번 들어온 물은 순환하면서 사용되고, 성인의 경우 소변, 호흡, 땀 등을 통해 하루 평균 10컵(2.4ℓ)의 물을 몸밖으로 내보낸다. 따라서 이를 보충하기 위해서는, 음식에 하루 3~4컵 분량의 물이 포함돼 있어 6~7컵을 물로 보충하면 된다. 그러나 기온이 높거나 건조한 경우, 운동을 할 때, 임신하거나 수유 중인 경우처럼 수분 요구량이 증가하게 되면 추가로 보충해야 한다.

    물을 많이 먹으면 예방할 수 있는 질병들이 많다. 우선 요로 결석이다. 요로 결석을 예방하기 위해 물을 많이 먹어야 한다는 사실은 히포크라테스 시절부터 잘 알려져 있다. 물을 많이 먹으면 이미 요로 결석이 생긴 경우에도 배출을 돕고 재발도 막는다. 또 발암 물질을 쉽게 배설하기 때문에 요로계 암(방광암, 전립선암, 신장암)이 적게 걸린다는 사실이 여러 연구를 통해 밝혀졌다. 특히 방광암의 예방 효과는 물을 많이 마실수록 커진다고 한다.

    또 물을 많이 마시는 사람은 그렇지 않은 사람보다 대장암의 위험이 감소했다는 보고가 있기도 하다. 또 일부 연구에 의하면 물을 많이 마시는 여성, 특히 폐경 후 여성에게 유방암 발생률이 훨씬 적었다고 한다. 어린이들의 경우 탄산음료나 단 음료를 적게 먹고 대신 물로 대체하면 소아비만을 줄일 수 있다. 급성 혹은 만성 수분 부족 상태에서는 인지기능이나 정신 기능이 떨어진다. 활동 전이나 활동 중 생긴 수분 부족 상태는 육체적 수행능력을 현저히 떨어뜨렸다.

    그러나  물을 많이 섭취하지 말아야 하는 질환들도 있다.예를 들어 울혈성 심부전, 간경화증, 신증후군 등과 같은 부종성 질환이나, 갑상선 기능 저하증, 부신기능 저하증 그리고 항이뇨호르몬분비가 증가되어 있는 환자에게는 물 섭취를 제한하는 것이 좋다. 물을 많이 섭취하면 부종이 심해질 뿐만 아니라, 심한 경우 근 무력감이나 경련, 의식 저하와 같은 신경학적 이상이 나타날 수 있기 때문.

    그러나 정상인들의 경우 물을 많이 먹는게 이래저래 건강에 이롭다는게 전문가들의 한결같은 설명이다.“자네,또 물먹었어?” “네, 열심히 물먹고 있습니다.”직장에서 선후배간에 이런 대화가 열심히 오가는 날,더욱 더 건강하게 살 수 있지 않을까. 열심히 물을 먹자!



    facebook posting twit

  • 눈 ‘건강 7계명’ 지키세요
  • 책 <아토피, 환원수로 고칠 수 있다> 요약
  • 알칼리 환원수란?
  • 간기능의 지표 GOT/GPT
  • 한국인에게 흔한 암
  • 겨울철 실내먼지,세균득실 호흡기 질환 유발
  • Hello World 뿌리기

    아주 간단한 샘플이다.

    hello.jsp 라는 파일로 다음의 소스코드를 쳐보자.



    <html><head><title>Hello JSP</title></head><body>

    <h1> Hello JSP Test</h1>

    <%

    out.println(“<font color=blue>Hello World! JSP</font>”);

    %>

    </body></html>



    facebook posting twit

  • http-2.2.3에서 ssl 설치
  • 초간단 php-oracle 연동 클래스
  • 금액을 입력할때 세자리마다 컴마찍기
  • 쿠키 세팅하기
  • 초간단 AJAX 샘플
  • 텍스트 인쇄하기
  • 세션을 이용한 카운터
  • JSP DB 연결하기
  • JSP 데이터 타입 선언
  • JSP 기본 문법
  • 은평뉴타운도 용적률 상향하여 분양가 인하 추진

    서울 은평뉴타운에 대해 다른 2기 신도시와 마찬가지로 용적률을 높여 공급가구수를 늘리고 분양가를 낮추는 방안이 적극 검토되고 있다.
    서울시는 현재 153% 수준인 용적률을 판교신도시(164%) 수준으로 높이는 방안을 유력하게 고려중이다.

    용적률은 10%포인트 정도 높이면 분양가를 평당 40만~50만원가량 낮출 수 있고, 공급가구수는 500~1000가구가량 늘어날 것으로 보인다.

    박희수 서울시 뉴타운사업단장은 16일 "11ㆍ15대책에 수도권 신도시 용적률 상향 방안이 포함된 만큼 은평뉴타운도 용적률 상향을 검토하고 있다"며 "환경부 건교부 등 유관기관과 협의를 거쳐 다음달 최종 결과를 발표할 것"이라고 밝혔다.

    서울 은평구 진관내ㆍ외동과 구파발동 일대 106만여 평에 들어서는 은평뉴타운은 3개 지구로 나눠 개발하고 있다.

    1ㆍ2지구는 이미 착공했고 3지구는 내년 상반기 착공 예정이다. 당초 지난달부터 분양을 시작할 예정이었지만 고분양가 논란이 불거지면서 후분양 방식으로 전환해 분양을 1년가량 미뤄놓은 상태다.

    그러나 용적률을 무작정 높일 수는 없다는 게 SH공사의 설명이다. 서울을 대표하는 쾌적한 주거단지를 조성한다는 목표에는 변함이 없기 때문이다.

    SH공사 관계자는 "은평뉴타운은 당초 130%대로 계획했던 용적률을 이미 한 차례 상향 조정했다"며 "용적률 추가 상향이 결정된다면 판교신도시(164%)를 넘지 않는 수준이 될 것"이라고 전했다.

    건설사 관계자는 "용적률이 10%포인트 높아지면 평당 분양가가 40만~50만원가량 떨어져 34평형의 경우 분양가가 1360만~1700만원가량 낮아질 것"이라고 분석했다.

    그는 "공급가구수의 경우 1~3지구 용적률이 모두 10%포인트 상향 조정되면 기존 1만5200가구에서 1000가구가량 늘어날 수 있다"며 "그러나 현재 착공된 1지구와 2지구 A공구가 조정대상에서 제외되면 증가분은 500가구 수준이 될 수도 있다"고 덧붙였다.



    facebook posting twit

  • 은평뉴타운 분양가 전면 재검토 및 후분양
  • 은평뉴타운 분양원가 최대한 낮출것
  • 은평뉴타운 연기되자
  • 은평뉴타운 공사비 판교보다 높다?
  • 은평 뉴타운 입주권 매매 – 1억5천~2억5천
  • 집값, 계속 오른다
  • 은평 뉴타운 분양 원가 내역(표)
  • 핵심인재요건…개인-좋은 인간관계, 회사-글로벌 인재

    삼성전자는 2004년 국내외 핵심인재 450명을 스카우트하는 데 비행기값, 면접비 등 부대비용으로만 90억원을 썼다. 1인당 2000만원꼴이다.

    앨런 유스티스 구글 부회장은 "일류 엔지니어 한 명이 평범한 인력 300명을 뛰어넘는다"고 했고, 잭 웰치 전 GE 회장은 "시간 중 75%를 핵심 인재를 찾고, 채용하고, 배치하고, 평가하고, 보상하고, 내보내는 데 썼다"고 말했다.

    그야말로 핵심인재가 핵심, 아니 '전부'가 되는 시대다.

    그렇다면 본질적 질문을 던질 차례다. 당신은 핵심인재인가, 아닌가.


    인재관리 전문기업 HRKorea가 경력 3년 이상 직장인 927명에게 '자신이 핵심인재라고 생각하는가'라고 물었다.

    예, 아니오로만 답하게 한 이 설문에서 545명(58%)이 '그렇다'고 응답했다. 자기과신이 지나친 것 아니냐는 느낌을 받는 사람도 있겠지만 사실 이 수치는 2004년 같은 조사 때 76.7%에 비하면 20%포인트 가까이 떨어진 것이다.

    그 동안 핵심인재들의 등장을 주변에서 직접 봐 오면서 기준이 보다 엄격해졌고 자신에 대한 평가도 좀 더 객관적으로 변했음을 시사한다.

    자신을 핵심인재라고 답한 응답자들은 그 이유로 '조직 구성원과의 원활한 관계'(30.6%)를 가장 많이 꼽았다. '인간관계'를 핵심인재의 요건으로 든 셈인데, 삼성전자의 '천재급 핵심인재론'에 익숙한 일반의 인식과는 다소 차이가 있는 조사결과다.

    다음으로 23.7%가 '독특하고 창의적인 아이디어'를 꼽았고 '능력은 부족하지만 열정과 윤리성을 갖고 있기 때문'(22.8%), '외국어 능력이 뛰어난 글로벌 인재'(14.3%) 등의 순이었다.

    '우수한 능력을 지닌 천재급 인재이기 때문'이라는 응답은 6.8%에 그쳤다. 전반적으로 타고난 능력보다는 리더십이나 열정에 가중치를 부여한 것이 특징이다.

    이는 기업 인사담당자들이 핵심인재를 판단할 때 고과, 글로벌 인재로서의 요건, 고학력 등 '눈에 보이는 조건'에 가중치를 두는 것과는 거리가 있다.

    핵심인재요건…개인-좋은 인간관계, 회사-글로벌 인재


    일례로 삼성그룹이 가장 탁월한 업적을 성취한 핵심인재에게 수여하는 '삼성 펠로' 3명 중 2명은 박사학위 소지자다.

    또 석ㆍ박사 채용 프로젝트만을 전담하는 해외 인력팀과 국제채용 담당자를 별도로 두고 있다.

    다른 대기업들도 세계 상위 20위권에 드는 MBA 출신을 매년 30~40명씩 채용한다. 이들은 채용 시부터 핵심인재로 관리된다.

    한편 자신을 비핵심인재라고 생각하는 394명의 응답 내용은 2년 전과 크게 달라졌다. 2004년 조사 때는 핵심인재로 대우받지 못하는 원인에 대해 41.7%가 '업무 자체가 비핵심적이기 때문'이라며 개인 능력보다는 조직에 책임을 돌렸다.

    전문능력 부족(27.8%), 외국어 능력 부족(11.1%), 창의적 아이디어 부족(6.9%) 등은 상대적으로 소수였다.

    이번 조사에서 '업무 자체가 비핵심적'이라는 응답은 13.7%로 줄었고 다섯 번째 순위에 그쳤다.

    전문능력 부족이 24.6%로 가장 많았고 창의적 아이디어 부족(17.8%), 외국어 능력 부족(16.2%), 일에 대한 열정 부족(14.0%) 등이 비슷한 비중을 차지했다. 전문성과 창의성을 갖춘 인재가 핵심인재라는 인식이 크게 넓어졌다.

    설문 결과를 종합하면 자신을 핵심인재라고 평가하는 사람들 상당수가 개인능력보다는 대인관계나 리더십을 강조하는 반면 자신에게 부족한 점으로 전문능력과 창의력을 꼽는 모순이 발견된다.

    이에 대해 최효진 HRKorea 대표는 "핵심인재를 열망하고 있지만 능력이나 자질 면에서 스스로 충분하지 못하다고 평가하고 있는 것 같다"고 말했다.

    끝으로 자신이 핵심인재로 성장ㆍ발전하기 위해 필요한 요소를 묻는 질문엔 48.2%가 '끊임없는 자기계발'을 꼽았다. 대인관계와 리더십은 21.4%였다.



    facebook posting twit

  • 김치찌게 끓이는 법
  • 샤브샤브 만드는 방법
  • 생활속에서 머리가 좋아지는 방법
  • 머리가 좋아지는 11가지 비결
  • 익스플로러를 키면 인터넷이 꺼지는 경우
  • `11.15 대책`으로 서울 집값 잡기는 역부족
  • 무선 Skype 전화기 2종 비교 – Belkin & Netgear
  • 큰일 보고 물 내릴 때는 반드시 변기 뚜껑을 닫아라
  • Skype의 경쟁자에 면밀한 관찰
  • ‘미친 소 협상’ 한미FTA와 ‘인간광우병’ – 미국소와 ‘부적절한 만남’, 주저앉은 ‘건강주권’
  • 텍스트 인쇄하기

    이것 때문에 꽤나 골머리를 앓았었는데 여기서 수없이 찾아보고 테스트하여 답을 얻었습니다.
    저처럼 필요하신 분이 계실 것 같아 정리하여 올려봅니다.
     

    제가 원하던 것은 LPT Port로 직접 Data를 쓰는 것이었습니다.
    프린터에 일정한 형식으로 Text를 만들어 넣어 주면 내장된 폰트 등을 사용하여
    바코드도 인쇄하는 프린터를 쓰기 위한 것입니다.

     

    // LPT Port 로 직접 인쇄하기...

    void CLabelPrint::OutLptPort(CString strText)
    {
        HANDLE hLpt;
        hLpt = CreateFile("LPT1:", GENERIC_WRITE, 0, NULL, OPEN_ALWAYS,
                            FILE_ATTRIBUTE_NORMAL, NULL);
     
        if(hLpt == INVALID_HANDLE_VALUE)
            AfxMessageBox("Can not open LPT1 !!!");
        else{
            DWORD dwWritten;
            WriteFile(hLpt, strText, strText.GetLength(), &dwWritten, NULL);
            CloseHandle(hLpt);
        }
    }
     
     
    // LPT Driver로 인쇄하기...
    void CLabelPrint::OutLptDrive(CString strText)
    {
        HDC PrintDc;        // Printer DC를 얻고
        PrintDc = CreateDC(NULL, DefaultPrinter, NULL, NULL);
     
        // 현재 인쇄할 내용이 무엇이라는 것만 알리고...
        static DOCINFO docinfo = { sizeof(DOCINFO), "Label Print", NULL};
        // 인쇄 시작 명령을 보낸다
        StartDoc(PrintDc, &docinfo);
     
        // 페이지 시작임을 알린다
        StartPage(PrintDc);
     
        // 실제 인쇄를 하는 부분...
        TextOut(PrintDc, 0, 0, strText, strText.GetLength());
     
        // 페이지 종료를 알린다
        EndPage(PrintDc);
     
        // 인쇄가 종료 명령을 보낸다
        EndDoc(PrintDc);
    }



    facebook posting twit

  • 초간단 php-oracle 연동 클래스
  • 금액을 입력할때 세자리마다 컴마찍기
  • 쿠키 세팅하기
  • 초간단 AJAX 샘플
  • Hello World 뿌리기
  • 세션을 이용한 카운터
  • JSP DB 연결하기
  • JSP 데이터 타입 선언
  • JSP 기본 문법
  • PC에서 JSP 따라하기 – XP에 JSP(Tomcat) + MySQL을 한번에 깔아보자
  • 겨울철 실내먼지,세균득실 호흡기 질환 유발

    ‘겨울동안 꼭 닫은 창문을 열고 사무실과가정내에 바깥 바람을 불어넣자.'겨울철 실내는 먼지와 세균의 집합소가 되기 쉽다. 차가운 바깥날씨 때문에 창문도 꼭 닫고, 외출도 많이 하지 않게 된다. 난방을 하고 가습기를 틀다보면 온도와 습도가 높아지고 실내 공기는혼탁하게 된다. 실내청소까지 제대로 하지 않으면 상태는 더 심해진다. 감염의 위험도가 높아지는 것이다. 아직은 바람이 차갑지만 매일 적당히 환기를 하고, 실내의 묵은 때와 먼지를 닦아내두통, 호흡기 질환 등 빌딩증후군을 예방하자.
    ◈겨울철도 빌딩증후군 많아=겨울철에는 실내에서 생활하는 시간이 늘어난다. 창문을 주로 닫고 생활하기 때문에 실내공기도 신선하지 못하다. 공기청정기를 가동하더라도 병원균까지 정화하지는 못한다.

    이같이 실내에 오래 있으면 감기 등의 호흡기질환에 감염되거나두통에 시달리기 쉽다. 난방으로 적당한 실내온도와 습도가 유지됨으로써 병원균이나 먼지 진드기 등이 번식하기 쉽기 때문이다.

    또 실내가 건조해지기 쉬워 건선, 피부염 등 피부질환이 발생할수 있다. 이밖에 실내와 밖의 온도차가 커 감기에 걸리기 쉽다.

    사무실에만 가면 머리가 아프고, 기침이 나오고, 온몸이 무기력해지는 빌딩증후군의 가장 큰 원인은 오염된 실내 환경이다.

    환기시설이 나쁜 사무실에서 일하는 경우 환기가 잘되는 환경에서 일하는 것보다 빌딩증후군을 겪을 확률이 2배 정도 높다는 연구결과도 있다.

    ◈실내청소 안하면 세균 증식=실내에 쌓인 먼지는 호흡기 질환을유발하고 세균들의 좋은 서식처가 된다. 사무실에서 매일 만지는 키보드, 마우스에는 세균과 타인의 손에 있던 다양한 병원균들이 묻어나와 증식하게 된다.

    음식부스러기가 키보드 틈을 통해 빛이 잘 닿지 않는 곳에 떨어져 있다가 습기 등과 결합하면 균들이 서식할 수 있는 최적의 서식지로 변하기도 한다.

    사무실에서 공동으로 사용하는 전화나 공중전화 등에도 수많은세균이 서식하고 있다.

    오래된 책과 돈도 세균이 서식하기 좋은 환경이다. 책장을 넘기거나 돈을 셀 때 손가락에 침을 묻히는 것은 책장이나 돈에 묻어있는 수많은 병균을 입 속으로 넣는 것이나 다름없다. 독서한후나 돈을 센 후에는 반드시 손을 깨끗이 씻는 습관을 기르는 것이 좋다.

    ◈적절한 환기 가장 중요=쾌적한 실내환경을 조성하기 위해서는채광이나 온도, 습도, 환기나 공기정화 등을 최대한 자연환경에맞추어야 한다.

    우선 환기를 자주 하는 것이 최선의 방법이다. 30분씩 하루 2회이상은 창문을 열어서 환기를 해야 한다. 맞바람이 치는 두 개의창문을 함께 열어두면 효과적이다.

    환기할 때는 가구의 문까지 모두 열어 실내공기를 완전히 바꿔야한다. 공기청정기 사용도 도움이 되지만, 공기청정기는 일부 가벼운 먼지 입자를 제거하는 능력은 탁월하나 무거운 항원들은 제거하지 못한다. 게다가 필터 청소를 게을리 할 경우는 오히려 환경오염을 가중시키거나 바이러스를 확대시키는 도구가 될 수도있다.

    실내와 실외의 온도차가 크면 감기에 걸릴 확률이 높아지므로 항상 실내온도를 섭씨 18~20도로 설정해 다소 서늘한 듯한 느낌이들 정도로 유지한다. 실내 습도는 40~60%로 유지하는 게 좋다.

    지나치게 건조하면 콧속의 점막이 말라붙어 작은 충격에도 코피가 날 수 있으며 저항력이 떨어져 감기에 걸리기 쉽다. 감기환자가 있는 경우 습도를 조금 낮게 유지한다.

    건조하면 기침이 심해지는 것은 사실이지만 습도가 너무 높아도세균, 집먼지 진드기 등을 번성시켜 기관지 등 호흡기를 더 민감하게 할 수 있기 때문이다. 가습기를 제대로 청소하지 않으면 세균증식의 온상이 될 우려가 있기 때문에 가습기의 청결한 관리도매우 중요하다.

    손을 깨끗이 씻는 것도 중요하다. 을지대학병원 감염내과 윤희정교수는 “대부분의 바이러스는 사람의 손에서 책상이나 문의 손잡이 등에 옮아 있다가 그걸 만진 사람의 손으로 옮아가고, 그손에 의해 다시 코나 입 등의 점막으로 전해져 감염된다”며 “그러나 기침을 심하게 하는 사람의 바로 옆에 있어도 손만 잘 씻는다면 이환될 가능성이 많이 줄어든다”고 지적했다.

    겨울철 실내먼지,세균득실 호흡기 질환 유발



    facebook posting twit

  • 책 <아토피, 환원수로 고칠 수 있다> 요약
  • 알칼리 환원수란?
  • 간기능의 지표 GOT/GPT
  • 한국인에게 흔한 암
  • 물 많이 마시면 암 예방에 좋다?