달력

1

« 2025/1 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2011. 1. 10. 13:32

톰켓을 사용하는데 필요한 20가지 Tips Enjoy/etc2011. 1. 10. 13:32

출처 : http://mimul.com/pebble/default/2007/08/24/1187964360000.html
         http://www.digitalsanctum.com/2007/08/18/20-tips-for-using-tomcat-in-production/

1. jdk 1.5이상이면 아래 설정을 JAVA_OPTS안에 추가한다면 YourKit을 가지고 힙덤프를 분석할 수 있다.
 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/heapdump

2. Jasper 2 JSP Engine 지원을 위해 $CATALINA_BASE/conf/web.xml 설정 변경하라.
 - development : false, genStringAsCharArray : true, modificationTestInterval : true, trimSpaces : true
 - 자세한 건 여기를 참조하라.

3. 가용성 확보를 위해 Tomcat의 clustering/session replication을 사용하라.
 - 사용방법은 여기를 참조하라.

4. error pages를 작성하여 적용하라.(web.xml)
 - <error-page>
      <error-code>404</error-code>
      <location>/error/404.html</location>
   </error-page>

5. 어플리케이션에서 System.out과 System.err를 제거하고 Log4j를 사용하라.

6. application마다 같은 라이브러리는 WEB-INF/lib에서 CATALINA_HOME/shared/lib로 옮겨서 공유하라.
 - 메모리를 절약할 수 있다.

7. memory parameters를 잘 활용하라.

8. 불필요한 어플리케이션을 제거하라.

9. Manager서버의 보안을 강화하라.
 - CATALINA_HOME/conf/tomcat-users.xml 
  <role rolename="manager">
   <user username="darren" password="ReallyComplexPassword" roles="manager"></user>
  </role>
 - CATALINA_HOME/conf/server.xml에 IP 블럭킹 기능도 유용하다.
  <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*"></Valve>

10. server.xml을 최적화 하라.
 - 서버 환경에 맞는 CATALINA_HOME/conf/server-original.xml, CATALINA_HOME/conf/server-minimal.xml 선택하여 server.xml로 변경하라.

11. 톰켓 업그레이드는 설치디렉토리를 분리하여 적용하라.

12. Tomcat 서버는 root로 띄우지 마라.
 - 자세한 내용은 여기를 참조하라.

13. Precompile JSPs (at build time)
 - 자세한 내용은 여기를 참조하라.

14. 디렉토리 보이는 걸 막아라.
  - CATALINA_HOME/conf/web.xml
  <servlet>
   <servlet-name>default</servlet-name>
   <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
   <init-param>
   <param-name>debug</param-name>
   <param-value>0</param-value>
   </init-param>
   <init-param>
   <param-name>listings</param-name>
   <param-value>false</param-value>  <!-- make sure this is false -->
   </init-param>
   <load-on-startup>1</load-on-startup>
  </servlet>

15. 듀얼 코어 CPU를 사용할 경우 쓰레드풀을 250개 이상 설정하라.

16. Tomcat MBeans이나 다양한 모니터링 도구를 활용하여 서버를 모니터링하라.
 - 자세한 내용은 여기를 참조하라.

17. jdk1.5, 1.6이 성능이 좋다.

18. -server JVM option을 사용하라.

19. GZIP compression을 사용하라.
 - <Connector>compression="on"
   compressableMimeType="text/html,text/xml,text/plain,application/xml"
   </Connector>
 - 자세한 건 여기를 참조하라.

20. Security Manager를 잘 사용하라.
 - 자세한건 여기를 참조하라.

:
Posted by 라면스프
2011. 1. 5. 11:14

javac, java 명령어의 옵션 Enjoy/JAVA2011. 1. 5. 11:14

출처 : http://silmelove.blog.me/30015264341


자바 컴파일과 실행 에 사용되어지는

 javac, java 명령어의 옵션을

다음과 같이 정리하였습니다.


javac - 자바컴파일러로써, 자바코드를 작성한 소스파일(.java)을 자바 가상머신이 인식할수 있는 바이트 코드(.class)
타입으로 변환시켜주는 명령어 입니다.

사용법: javac <options> <souce files>
예를들어, Hello.java, Greeting.java 두개의 파일이 존재한다면,
javac Hello.java Greeting.java
javac *.java (*을 사용해서, 모든 확장자가 .java인 파일을 컴파일할수 있다.)

 

1) 옵션:


a) -classpath:

 -classpath(cp) path(파일 절대 경로):
 컴파일러가 컴파일 하기 위해서 필요로 하는 참조할 클래스 파일들을 찾기 위해서 컴파일시 파일 경로를 지정해주는
옵션. 예를 들어,  Hello.java파일이 C:\Java 디렉터리에 존재하고, 필요한 클래스 파일들이 C:\Java\Engclasses에 위치한다면,
javac -classpath C:\Java\Engclasses C:\Java\Hello.java 로 해주면 된다. 만약 참조할 클래스 파일들이 C:\Java\Engclasses외의 
다른 디렉터리에도 존재한다면, C:\Java\Korclasses 일경우, 
javac -classpath C:\Java\Engclasses;C;\Java\Korclasses C:\Java\Hello.java
그리고, 현재 디렉터리역시 포함하고 싶다면,
javac -classpath .;C:\Java\Engclasses;C;\Java\Korclasses C:\Java\Hello.java
기본적으로, dos에서는 .는 현재 디렉터리를 의미하고, ..는 현재 디렉터리의 상위디렉터리를 의미한다. 
또한 classpath 대신 단축어인 cp를 사용해도 된다.
javac -cp C:\Java\Engclasses C:\Java\Hello.java 

 

b) -d: 
 -d directory
 클래스 파일을 생성할 루트 디렉터리를 지정합니다.
기본적으로 컴파일러는 -d옵션을 주지 않으면, 소스파일이 위치한 디렉터리에 클래스 파일을 생성시킵니다.
예를 들어,  Hello.java파일이 C:\Java 디렉터리에 존재하고 클래스 파일의 루트디렉터리를 C:\Java\Classfiles라고 하면, 
javac -d C:\Java\Classfiles C:\Java\Hello.java 입니다.

만약 -d 옵션을 사용하려고 하는데, 루트디렉터리(위예에서는 C:\Java\Classfiles) 가 존재 하지 않는다면, 
"The system cannot find the path specified"라는 에러 메시지를 보게 됩니다. 
현재 작업 디렉터리가 C:\Java\Classfiles 에 위치하면, 
javac -d .\Classfiles Hello.java 와 같이 상대 디렉터리로 표현할수 있습니다.

java class내에서 package를 선언한 경우 package별 폴더를 생성하고 해당 폴더에(package) compile한다.

 

c) -encoding:
-encoding encoding name
소스 파일에 사용된 문자열 인코딩을 설정합니다.
만약 위옵션이 설정되어 있지 않으면, 플래폼의 기본적인 컨버터가 사용되어 집니다.

 

d) -g:
모든 디버깅 정보를 생성시킵니다.
만약 위옵션이 설정되어 있지 않으면, 기본적으로, 라인넘버만 생성시킵니다.
-g:none: 디버깅 정보를 전혀 생성 시키지 않습니다.
-g:{lines, vars, source}:
위처럼 명시적으로, 몇몇 디버깅 정보를 생성시킬수 있습니다.
lines은 라인정보, vars는 지역변수, sounce는 소스 파일 정보를 나타냅니다.

 

e) -nowarn:

경고 메시지 (warning message)를 생성시키지 않습니다.

 

f) -verbose:

컴파일러와 링커가 현재 어느 소스파일이 컴파일되고 있고, 어느 파일이 링크되고 있는지 
그정보를 출력한다.

 

h) -deprecation:

소스 코드내에서, 사용되어진 deprecated API의 위치 를 출력 합니다.

ex)
C:\Java> javac World.java
Note: World.java uses a deprecated API. Recompile with "-deprecation" for details
.
1 warning
C:\Java> javac -deprecation World.java
World.java:52: Note: The method java.awt.Dimension size() in class java.awt.Compon
ent has been deprecated.
Dimension d = size();

Note: World.java uses a deprecated API. Please consult the documentation for a be
tter alternative.

 

i) -sourcepath:

-sourcepath 소스패스

소스파일의 위치를 지정합니다.

 

j) -target:

-target 자바버젼

지정된 자바버젼의 VM에서 작동 되어지도록 클래스파일을 생성 시킵니다.

1.1
jvm 1.1 버젼에서 호환되어질수 있는 클래스 파일생성
1.2
jvm 1.2 버젼에서 호환되어질수 있는 클래스 파일생성
1.3
jvm 1.3 버젼에서 호환되어질수 있는 클래스 파일 생성

ex)

javac -target 1.2 Helloworld.java 

 

k) -bootclasspath 패스:

특정한 bootstrap또는 확장 클래스를 지정할수 있다.
기본적으로, 자바컴파일러는 javac(컴파일러명령)이 설치된 플래폼의 bootstrap과 확장클래스들을 통해서, 컴파일작업을 수행하지만,
bootclasspath 옵션을 사용하면, cross-compiling이라고 해서, 다른 자바플래폼의 bootstrap과 확장클래스들을 통해서, 컴파일 할수 있는 기능을 지원한다.
예를들어,
javac -target 1.1 -bootclasspath jdk1.1.7/lib/classes.zip -extdirs "" OldCode.java
컴파일러에게 현재 자신의 bootstrap을 사용하지 말고, jdk1.1.7/lib/classes.zip bootstrap클래스들을 사용해서 컴파일 하라고 
명령하는것이다.
참고로, 모바일자바에서, 모바일폰에 설정된, jvm에 맞도록, 소스코드를 컴파일하기 위해서, 주로 사용되어지는 옵션이다.

 

 

l) -extdirs 디렉터리:
특정한, 확장 디렉토리를 지정한다.cross-compiling시 주로, 사용되어지는 옵션이면, 각디렉터리들은 콜론(:)에 의해서, 분리되어진다.
컴파일시, 기술한 디렉터리의 클래스 파일을 참조한다.

 

========================================================

출처 : http://blog.naver.com/darkhan1?Redirect=Log&logNo=10009423507

 

java 컴파일시 알아 두면 유용하게 쓰일거 같다..

 

 

 

###################################################################

###################################################################

 

 

Usage: javac <options> <source files>
where possible options include:
  -g                                  Generate all debugging info
  -g:none                          Generate no debugging info
  -g:{lines,vars,source}     Generate only some debugging info
  -nowarn                         Generate no warnings
  -verbose                        Output messages about what the compiler is doing
  -deprecation                   Output source locations where deprecated APIs are used
  -classpath <path>           Specify where to find user class files and annotation processors
  -cp <path>                     Specify where to find user class files and annotation processors
  -sourcepath <path>         Specify where to find input source files
  -bootclasspath <path>      Override location of bootstrap class files
  -extdirs <dirs>                Override location of installed extensions
  -endorseddirs <dirs>       Override location of endorsed standards path
  -proc:{none,only}            Control whether annotation processing and/or compilation is done.
  -processor <class1>[,<class2>,<class3>...]

                                       Names of the annotation processors to run; bypasses default discovery process
  -processorpath <path>      Specify where to find annotation processors
  -d <directory>                 Specify where to place generated class files
  -s <directory>                 Specify where to place generated source files
  -implicit:{none,class}      Specify whether or not to generate class files for implicitly referenced files
  -encoding <encoding>       Specify character encoding used by source files
  -source <release>          Provide source compatibility with specified release
  -target <release>            Generate class files for specific VM version
  -version                         Version information
  -help                             Print a synopsis of standard options
  -Akey[=value]                Options to pass to annotation processors
  -X                                 Print a synopsis of nonstandard options
  -J<flag>                         Pass <flag> directly to the runtime system
  
  
  
  
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)

where options include:
    -client   to select the "client" VM
    -server   to select the "server" VM
    -hotspot   is a synonym for the "client" VM  [deprecated]
                  The default VM is client.
                  
    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
                  A ; separated list of directories, JAR archives, and ZIP archives to search for class files.
    -D<name>=<value>
                  set a system property
    -verbose[:class|gc|jni]
                  enable verbose output
    -version      print product version and exit
    -version:<value>
                  require the specified version to run
    -showversion  print product version and continue
    -jre-restrict-search | -jre-no-restrict-search
                  include/exclude user private JREs in the version search
    -? -help      print this help message
    -X            print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  enable assertions
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  disable assertions
    -esa | -enablesystemassertions
                  enable system assertions
    -dsa | -disablesystemassertions
                  disable system assertions
    -agentlib:<libname>[=<options>]
                  load native agent library <libname>, e.g. -agentlib:hprof
                    see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
                  load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
                  load Java programming language agent, see java.lang.instrument
    -splash:<imagepath>
                  show splash screen with specified image
 

 

M) package 선언된 Java class 실행시키기

- package위치는 CLASSPATH 하위 폴더부터로 인식한다. 따라서 Package폴더의 Root가 ClassPath에 지정되든지

.(현위치)를 ClassPath에 등록 후 현 위치 아래서부터 package의 위치를 지정한다.

java package.class명 (현위치 아래에 package폴더가 존재)

java com.test.SampleMain

 

:
Posted by 라면스프
2010. 12. 28. 16:35

간단한 Makefile Enjoy/etc2010. 12. 28. 16:35

원문 : http://wiki.kldp.org/KoreanDoc/html/GNU-Make/GNU-Make-2.html#ss2.4


2. 간단한 Makefile

2.1 Makefile 의 내부 구조

Makefile은 기본적으로 아래와 같이 목표(target), 의존 관계(dependency), 명령(command)의 세개로 이루어진 기분적인 규칙(rule)들이 계속적으로 나열되어 있다고 봐도 무방하다. make가 지능적으로 파일을 갱신하는 것도 모두 이 간단한 규칙에 의하기 때문이다.


target ... : dependency ...
                command
                ...
                ...

여기서 목표(target) 부분은 명령(command)이 수행이 되어서 나온 결과 파일을 지정한다. 당연히 목적 파일(object file)이나 실행 파일이 될 것이다.

명령(command)부분에 정의된 명령들은 의존 관계(depenency)부분에 정의된 파일의 내용이 바뀌었거나, 목표 부분에 해당하는 파일이 없을 때 이곳에 정의된 것들이 차례대로 실행이 된다. 일반적으로 쉘에서 쓸 수 있는 모든 명령어들을 사용할 수가 있으며 bash에 기반한 쉘 스크립트도 지원한다.

=> 참고: 참고로 목표 부분에는 결과 파일만 올 수 있는 것이 아니고, 보통 make clean 에서와 같이 간단한 레이블(label) 기능을 제공하기도 한다.

=> 명령 부분은 꼭 TAB 글자로 시작해야 한다. 그냥 빈칸 등을 사용하면 make 실행 중에 에러가 난다. 명심하세요. make가 명령어인지 아닌지를 TAB 가지고 구별하기 때문이죠.

2.2 Makefile 예제

간단한 Makefile을 만들어 본다. 우리가 만들려고 하는 프로그램은 main.c read.c write.c로 구성되어 있고 모두 io.h라는 헤더 파일을 사용한다고 가정한다. (흐... 구성을 간단하게 합시다.) 이들을 각각 컴파일해서 test 라는 실행 파일을 생성시킨다.

% gcc -c main.c
% gcc -c read.c
% gcc -c write.c

% gcc -o test main.o read.o write.o

위의 방식은 make를 쓰지 않고 그냥 명령어를 주는 방식이다. 파일의 수가 작아서 오히려 더 간단하게 보일 수 있으나, 파일이 100개정도 된다고 가정하면... 아찔...

그리고, 아래는 위와 똑같은 일을 수행하는 Makefile의 내용이다.

Makefile예제 1


test : main.o read.o write.o
                gcc -o test main.o read.o write.o

main.o : io.h main.c 
                gcc -c main.c
read.o : io.h read.c
                gcc -c read.c
write.o: io.h write.c
                gcc -c write.c

(대충 알아보시겠어요? 참 TAB문자 쓰는 것 있지 마세요)

make는 Makefile의 내용을 보고, 내부적으로 어떻게 파일들이 의존하고 있는지 조사한다. 위의 Makefile을 바탕으로 의존 관계를 그림으로 나타내 보면 아래와 같다.


                       +---------------+
                       |     io.h      |
                       +------+--------+
                              |
                    +---------+----------+
                    |                    |
  +--------------+  |  +------+-------+  |  +--------------+
  |    main.c    |  |  |    read.c    |  |  |   write.c    |
  +------+-------+  |  +------+-------+  |  +------+-------+
         |          |         |          |         |
  +------+-------+  |  +------+-------+  |  +------+-------+
  |    main.o    +--+--|    read.o    |  +--+   write.o    |
  +------+-------+     +------+-------+     +------+-------+
         |                    |                    |
         +--------------------+--------------------+
                      +-------|-------+
                      |     test      |
                      +------+--------+

(텍스트 기반이라서 그림 그리기가 꽤 어렵네요. =)

위의 그림에서 보면 test 가 만들어지기 위해서는 main.o read.o write.o가 필요하게 각각의 목적 파일들은 모두 자신의 소스 파일과 io.h 에 의존함을 알 수가 있다.

가령 main.c를 고쳤다고 생각한다면 main.o가 컴파일되어 다시 생기고, test 도 다시 링크되어 갱신된다. 만약 io.h가 바뀌었다고 가정하면 모든 파일들이 컴파일되어서 목적 파일이 생기고, 그것들이 링크가 되어 test가 생긴다.

위와 같이 파일들을 구성한 다음 Makefile을 실행시켜 보자. Makefile의 실행은 그냥 make라고만 치면 된다.

% make 
gcc -c main.c
gcc -c read.c
gcc -c write.c
gcc -o test main.o read.o write.o <- OK

=> 참고: 그냥 테스트에 불과하기 때문에 read.c writec io.h 는 모두 내용 없이 파일만 만들어 두기로 하고, main.c 에 간단히 printf 함수만 적어 봅시다. 정말 위와 같이 됨을 실감할꺼예요... 신기하게...

2.3 매크로의 사용

간단한 매크로 기능을 사용해 보자. main.o read.o write.o라는 것을 OBJECTS 라는 매크로로 바꾸는 것이 아래의 예제 2에 나와 있다.

Makefile예제 2


OBJECTS = main.o read.o write.o

test : $(OBJECTS)
                gcc -o test $(OBJECTS)

main.o : io.h main.c
                gcc -c main.c
read.o : io.h read.c
                gcc -c read.c
write.o: io.h write.c
                gcc -c write.c

위에서 보다시피 매크로는 그냥 프로그램 짤 때와 같이 사용해서 값을 대입한다. 대신 사용할 때는 반드시 $(..) 안에 넣어서 사용한다. 매크로 치환을 위한 특수한 방법이 아닐까... 히... 매크로의 사용법은 위와 같이 간단하므로 다양하게 정의해서 사용할 수 있다. 매크로에 대한 자세한 설명은 다음 장에서 언급하기로 한다.

2.4 레이블의 사용

목표 부분에 해당하는 부분이 그냥 레이블과 같이 사용될 수도 있다고 이미 설명하였다. 예제 2 에다가 목적 파일들을 모두 삭제하는 명령어를 추가하기로 한다.

Makefile예제 3


OBJECTS = main.o read.o write.o

test : $(OBJECTS)
                gcc -o test $(OBJECTS)

main.o : io.h main.c
                gcc -c main.c
read.o : io.h read.c
                gcc -c read.c
write.o: io.h write.c
                gcc -c write.c

clean :
                rm $(OBECTS)

레이블로 사용될 때는 당연히 의존 관계 부분은 없어도 된다. 그리고 clean을 실행시키려면 아래와 같이 한다.

% make clean
rm main.o read.o write.o <- OK

다음 장에서는...

지금까지는 Makefile의 간단한 예제를 가지고 무엇을 할 수 있는지 대충 알아보았습니다. 예제를 많이 쓰다 보니까 내용이 불어나게 됐군요. RCS와 달리 make는 한번 알고 있으면 정말 유용한 유틸리티입니다.

다음 장에서는 본격적으로 Makefile의 구성및 그 사용법을 자세히 알아 보고자 합니다. 그냥 일반적으로 Makefile 사용하시려면 오늘 한 것에 몇 가지만 더 알고 계시면 됩니다. 계속 예제 중심으로 이해가 잘되도록... 그럼 계속 봐주시면 감사.  

:
Posted by 라면스프
2010. 12. 23. 10:37

[FLEX] httpText a 링크 걸기 Enjoy/FLEX2010. 12. 23. 10:37

flex엔 httpText 가 있더군요.
a 링크 코드 를 입력 사용 가능하더군요.


:
Posted by 라면스프
2010. 12. 15. 11:32

Excel 창 여러개 열기 Enjoy/etc2010. 12. 15. 11:32

본내용은 퍼온글입니다.

Start!! Excel 창 여러개 열기 


1. 윈도우 탐색기 -> 도구 -> 폴더 옵션 
설정 방법은 XLSX와 XLS 동일합니다. MS office 2007 기준으로 XLSX를 찾아서 "고급" 클릭


2. "열기(O)" -> 편집


3.  이것은 기본 설정된 화면입니다.

아래 이미지 처럼 변경해야합니다. 
"명령을 실행할 응용 프로그램(L):" 에 설정된 값 마지막에 "/e" 를  /en "%1"  로 변경합니다.
"DDE 메시지(D):" 에 설정된 값을 지웁니다. 

:
Posted by 라면스프
2010. 10. 3. 10:29

L4 Server Load Balancing Enjoy/etc2010. 10. 3. 10:29

 

 

 


 

SLB를 제공하는 가장 일반적인 장비는 L4 장비솔루션 으로써 Agent를 사용하지 않는 F5, 시

스코, 파운드리, 넷스케일러, 노텔, 라드웨어 ,A10Networks 등이 있으며  대부분 사람들은 

L4 장비이며 Agent를 사용하는 Enpia(우리회사다 ^^V) Sseries1000 재품이 있다.

Agent를 이용하는 타사의 제품을 보지 못했다.

장비는 대부분 외산 제품이며 Agent를 이용하는 Enpia 의 제품은 국산이다.

일단 제목이 L4 Server Loadbalancing 이니 L4 장비로만 이야기 하겠다.

L4 장비는 서비스 서버 (Real Server)에 앞 단에 위치하게 되며, 서비스 서버들은 모두 사

설 IP 주소를 가지며 L4 장비에 연결이 된다.

외부 사용자들에게는 여러 대의 서비스 IP 주소 대신 마치 한대의 서버처럼 L4 장비의 VIP

만이 보이게 된다.

VIP로의 사용자 서비스 요청은 L4 장비가 최적의 서비스 서버를 선택하여 Redirect 됨으로

써 (NAT) 된다.

예를 들어 사용자가 www.enpia.net이란 웹 서비스에 연결하기 위한 과정을 예로 들면 다음

과 같다.

 ① 사용자가 Browser에 www.enpia.net 이라고 입력을 하면, PC에 설정된 Local DNS 서버로 

DNS Query를 한다. Local DNS 서버는 enpia.net을 관리하는 DNS 서버 (Authoritative DNS 

서버)에 DNS Query 요청을 하여 L4의 VIP 주소를 획득한다.

 ② Local DNS 서버는 사용자 PC에게 www.enpia.net Domain에 해당하는 L4의 VIP를 전송한

다.

 ③ 사용자의 Local DNS 서버로부터 넘겨 받은 L4의 VIP로 http 요청을 전송한다.

 ④ 사용자로부터 http 요청을 받은 L4 장비는 최적의 서비스 서버를 선택하여 사용자의 요

청을 전송한다.

L4로 부터 http 요청을 받은 서비스 서버는 http 응답을 처리하여 그 결과를 다시 L4 장비

에게 전송한다.

 ⑤ 서비스 서버로 부터 http 결과를 받은 L4 장비는 사용자 PC로 해당 결과를 전송함으로

써 요청 처리를

끝낸다.



 

 

Round Robin(순차방식

사용자 요구를 차례대로 각 서버에 균등하게 분배하는 방식으로 서버 커넥션 수나 응답시간

에 상관없이 그룹내의 모든 서버를 동일하게 처리하여 일반적인 구성에 있어서 다른 알고리

즘에 비해서 가장 빠르다는 장점을 가진다.


Least Connection(최소접속방식) 

오픈 커넥션이 가장 적은 서버로 사용자 요구를 연결하는 방식으로 모든 서버가 균등한 트

래픽을 유지하기 위해서 처리 속도가 빠른 서버가 더 많은 접속을 받게 된다. 최소접속 알

고리즘은 서버들의 성능이 비슷하게 구성되었을 경우에 가장 효과적인 트래픽 분산이 가능

하다.


Weighted Least Connections(가중치 최소접속방식) 

이 알고리즘은 최소접속 알고리즘에 서버의 성능 가중치를 추가한 것으로, 요구가 동일한 

경우 가중치가 높은 서버에서 더 많은 요구를 받게 설계되어 있다.

Fastest Response Time(응답시간방식) 

가장 빨리 응답하는 서버에 이용자 요구를 연결하는 방법. 응답시간은 각 서버가 패킷 형태

의 요구를 송수신하는데 걸리는 시간을 측정한 것이다.


Adaptive(최소대기방식) 

이 알고리즘은 Open또는 Pending커넥션을 적게 가지고 있는 서버로 네트웍 커넥션 방향을 

지정한다. Pending 커넥션은 Full TCP Handshake를 완성하지 않은 것으로, 이것은 초당 클

라이언트 Thread의 수가 증가할 때 더욱 잘 수행된다.


Fixed(고정방식) 

어떤 서버가 커넥션 요청을 받는지를 결정하기 위해 각 유입요청의 소스 IP어드레스를 사용

한다. 이 알고리즘은 여러종류의 어드레스로부터 많은 양의 요구가 있을 경우 더 잘 작동한

다. 이것은 동일한 게이트웨이를 통하여 들어오는 많은 요구보다 여러 종류의 혼합된 소스 

IP 어드레스의 요구일 경우 더 잘 수행한다.

기타 Hashing, Min Misses, Random, URL-based, Cookie, SSL session ID 와 같은 방식의 알

고리즘이 있다. 또한 로드밸런싱정책은 장비의 Vender에 따라 지원하는 정책이 조금씩 달라 

질 수  있다.

 


 

Network 구성상 L4 Switch는 서비스 서버의 앞 단에 위치하여 서비스 서버로 들어오고 나가

는 모든 Traffic을 처리하게 된다. 만약 L4 Switch에 장애가 발생할 경우 서비스 서버는 모

두 정상 동작을 하고 있더라도 전체적인 서비스가 중단되는 장애가 발생하게 된다.

이런 L4의 한계를 극복하기 위하여 보통 Active / Standby 형태로 L4 장비를 2개로 구성하

여 하나의 하나의 L4 Switch (Active)에 장애가 발생한 경우에 나머지 여분의 L4 Switch 

(Standby)가 즉각 동작을 하도록 한다.

L4 Switch의 또 다른 한계는 서버의 증설이나 Network Traffic의 증가로 인하여 L4 Switch

를 추가하는 경우에 발생한다. 서비스 서버를 Load Balancing하기 위한 L4가 2대 이상일 경

우 이 L4 Switch를 Load Balancing 하기 위한 별도의 L4 Switch 가 필요하게 된다.

또한 서버로 통하는 Network Traffic의 양이 많아지게 되면 모든 Network Traffic을 L4 

Switch가 처리해야 하므로 L4 Switch에 병목 현상이 발생하여 전체적으로 서비스의 속도가 

저하된다.



 

L4의 한계를 극복하기 위하여 보통 Active / Standby 형태로 L4 장비를 2개로 구성하여 하

나의 L4 Switch (Active)에 장애가 발생한 경우에 나머지 여분의 L4 Switch (Standby)가 즉

각 동작을 하도록 한다.

:
Posted by 라면스프
2010. 10. 3. 10:23

Tomcat과 Servlet, JSP의 관계 Enjoy/JSP2010. 10. 3. 10:23

출처 : http://blog.jidolstar.com/363


RPC(Remote Procedure Call)
다른 서버에 있는 함수를 호출해서 결과값을 리턴 받는 방식
참고 : 
http://en.wikipedia.org/wiki/Remote_procedure_call

RTMP(Real Time Messaging Protocol)
Adobe Flash Player와 서버간에 오디오, 비디오, 데이타를 스트리밍 하기 위해 개발된 프로토콜이다. 
참고 : 
http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol

SOAP(Simple Object Access Protocol)
일반적으로 널리 알려진 HTTP,HTTPS,SMTP등을 사용하여 XML기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 형태의 프로토콜이다. SOAP은 웹 서비스(Web Service)에서 기본적인 메시지를 전달하는 기반이 된다
참고 : 
http://ko.wikipedia.org/wiki/SOAP

AMF(Action Message Format)

BlazeDS와 LCDS에서 RemoteObject와 메시지 서비스는 AMF3(Action Message Format version 3)를 이용해 통신하게 된다. AMF는 Flash Player에서 리모팅 및 메시징 기술에 빠른 통신방법을 제공하기 위한 일종의 바이너리 데이타 형태라고 생각하면 되겠다. 그러므로 서버에 제작된 Java Beans 함수를 호출하여 그 결과를 객체(바이너리 형태)로 받을 수 있다.

AMF3를 이용하는 RemoteObject는 XML등을 이용하는 HttpService나 WebService보다 대용량 데이터 처리가 우수하다. 속도 테스트에 관련된 내용은 예전에 내가 쓴 
"수행속도종합테스트"를 참고하자.

참고 : 
http://en.wikipedia.org/wiki/Action_Message_Format

HttpService
- RPC통신방식으로 HTTP환경에서 GET/POST방식으로 서버에 요청에 따라 XML과 같은 Text형태의 데이터를 받는 방법
- ASP/JSP/PHP든 어떤 서버사이드 스크립트 언어를 써도 상관없다.

WebService
- RPC통신방식으로 HTTP환경에서 XML로 된 SOAP 메시지를 결과로 리턴받는 개방형 방식, WSDL규정에 따라 데이터를 얻어온다.
- 웹서비스가 가능한 애플리케이션과 연동된다.

Remote Service
- RPC통신 방식으로 HTTP환경에서 Java Bean를 호출하여 AMF방식을 통해 객체 데이터를 주고 받는 형식
- 대용량 데이터를 고속 처리하는데 적합하며 암호화가 가능함
- LCDS나 BlazeDS와 같은 웹애플리케이션이 돌아갈 수 있는 WAS환경에서만 가능

Message Service
- 클라이언트의 요청없이 서버에서 클라이언트 쪽으로 데이터를 보내줄 수 있는 방식
- 새로운 뉴스 리포팅이나 실시간 자동 데이타 업데이트 등에 쓰일 수 있다.
- RTMP환경에서 AMF방식으로 데이타를 주고 받는다.
- BlazeDS나 LCDS가 있어야 사용할 수 있다.

Data Management Service
- 클라이언트와 서버간에 데이터를 쉽게 동기화하기 위한 서비스다.
- 클라이언트가 수정한 데이터를 즉시 서버에 반영할 수 있다. 
- 서버에 수정된 데이터는 다른 클라이언트에도 즉시 반영된다.
- RTMP 및 HTTP 환경에서 AMF방식으로 데이터를 주고 받는다.
- LCDS가 있어야 사용할 수 있다.


JEE(Java Enterprise Edition) : Servlet/JSP,Mail,MQ,Corba,EJB,WS
JSE(Java Standard Edition) : JRE+JDK
J2EE는 JEE의 윗버전으로 Java 2 Enterprise Edition을 지칭한다.

WAS에 대해서 살펴보자. 도데체 Tomcat이 WAS인가 헷갈릴 때가 많은데 간단하게 정리하면 보통 WAS는 J2EE규약을 준수하여 구현했는가 일부만 구현했는가에 따라서 결정하게 된다.

WAS(Web Application Server) : JEE규약을 준수한 구현체, 종류로는 웹스피어, Web Logic, Sun JEE서버등
Web Container : JEE규약의 일부분(Servlet/JSP) 구현체, 종류로는 Tomcat, Resin,JRun 등

WAS의 중요한 기능중  Servlet/JSP Container와 EJB Container이 있는데 EJB Container로서의 역할비중이 크다. 하지만 Tomcat은 EJB Container에 대한 구현을 안했기 때문에 엄밀히 말해서 WAS라고는 하지 않는 것이 보통이다. 

WAS의 역할은 Web Server와 DB Server 사에 존재하는 미들웨어 역할을 하며 그 중간에 Web Application을 탑재하여 DB Server의 데이타를 사용목적에 맞게 가공하여 Web Server에 보내주는 역할을 한다. 

WAS를 사용하는 또 다른 이유는 분산환경을 만들기 위해서이며 분산환경의 가장 큰 이슈인 트렌잭션 처리를 적은 비용으로 효과적으로 처리하는 것을 목적으로 한다.


JDK와 JRE?

Tomcat 설치 중에 JRE 설치 경로를 설정하는 부분이 있을 것이다. 여기서 JDK와 JRE의 의미를 명확히 알아보자.

① JDK

    - Java Development Kit
    - 자바 애플릿이나 각종 응용 프로그램(어플리케이션)을 개발자들이 쉽게 만들 수 있도록 
       해주는 개발자용 도구.
    - 여러 운영체제 및 응용 프로그램(어플리케이션)과 연결시킬 수 있는 자바 응용 프로그램
      인터페이스(API)와 클래스 라이브러리, 자바 가상 머신 등을 포함.
    - 자바를 사용해서 자바 응용 프로그램을 개발할 수 있도록 해주는 도구입니다. 
    - 자바 파일을 컴파일할 수 있는 컴파일러를 포함한 부분

② JRE

    - Java Runtime Environment
    - 컴파일된 자바 프로그램을 실행할 수 있도록 해주는 환경. 
    - 자바 언어로 개발된 소프트웨어를 실행하기 위해 필요한 플랫폼. 
    - 자바를 이용해 개발된 소프트웨어는 어떤 플랫폼으로부터도 독립적인 형식
       (자바 바이트 코드)으로 배포되지만, 이것을 실행하려면 그 플랫폼을 해석할 수 있는 형식
       (native code)으로 변환해야 한다. 즉, 자바 실행 환경(JRE)은 이 변환과 실행을 행하는 
       자바 가상 머신과 그 주변의 소프트웨어이다.

요약하자면 JDK는 자바개발을 위한 도구이며 JRE는 자바로 작성된 응용프로그램을 실행하기 위한 환경이다. 

JDK = JRE + 개발에 필요한 실행파일(javac.exe등)
JRE = JVM(자바가상머신) + 클래스라이브러리(Java API) 

그러므로 JDK가 설치되면 JRE는 필요 없다고 해도 무방하며 Tomcat의 경우 설치하는 과정으로부터 JRE가 설치되어있어야 동작한다는 것을 알 수 있다.




Tomcat과 Servlet, JSP의 관계

Servlet과 JSP는 PHP와 ASP와 같이 서버에서 동작하며 DB에 접근하든지 비지니스 로직처리를 수행하기 위한 Java언어를 사용하는 Server Side Script 언어이다. 

Tomcat은 웹서버상에서 Java코드를 이용하기 위한 엔진 혹은 컨테이너이다. 즉, Java기반인 JSP, Servlet을 이해하기 위해 Tomcat과 같은 자바를 이용하는 엔진이 필요한 것이다.

Servlet은 Tomcat이 이해할 수 있는 순수 Java 코드로만 이루어진 웹서버용 클래스이다. 일반적인 Java 코드와 같으며 HTML형태로 출력하기 위해 print() 메소드 같은 것을 사용한다. 이 때문에 Servlet은 PHP와 ASP에 비해 코딩하기가 복잡하다. 이러한 단점을 보완하기 위해 나온것이 JSP이다. JSP는 PHP나 ASP처럼 HTML코드와 혼용되서 사용한다. Tomcat은 JSP코드를 컴파일할때 Servlet코드로 전환하여 컴파일을 진행하게 된다. 그래서 Tomcat을 Servlet/JSP 컨테이너라고 한다.





:
Posted by 라면스프
2010. 9. 30. 16:03

신세경 바탕화면보호기 Enjoy/etc2010. 9. 30. 16:03

신세경 바탕화면보호기 (swf파일 원본은 https://t1.daumcdn.net/cfile/tistory/1423780F4BC9771A01)

위에 있는 exe 다운받아서 설치하고
바탕화면 속성에서 설정하면 끝~!
:
Posted by 라면스프

Symantec Endpoint Protection Small Business Edition 12 클라이언트를 수동으로 제거하는 방법

본 문서는 영문 문서의 번역본입니다. 본 번역본이 게시된 후 원 영문 문서가 업데이트 되였을 가능성이 있습니다. 시만텍은 본 번역본의 정확성에 대하여 보증하지 않습니다.

상황
이 문서에서는 Symantec Endpoint Protection 클라이언트를 수동으로 제거하는 방법을 설명합니다. 

해결 방법

경고: 이 제거 단계를 수행하면 컴퓨터에 설치된 다른 Symantec 제품의 실행이 중지될 수 있습니다. 이 프로세스를 시작하기 전에 먼저 Windows 프로그램 추가/제거를 사용하여 Symantec 제품을 모두 제거하는 것이 좋습니다.


관리자로 로그온
Symantec Endpoint Protection은 관리자 계정을 통해 수동으로 제거해야 합니다. 관리자 계정을 실행하려면 Microsoft 기술 자료 문서인 기본 제공된 Administrator 계정 사용/사용 안 함을 읽어 보십시오.

관리자 계정이 사용 가능하면 해당 계정으로 로그온하십시오.

Symantec Endpoint Protection 중지 

Windows 2000 이외 Windows 버전을 실행하고 있는 경우 Symantec Endpoint Protection을 중지하려면 다음과 같이 하십시오.

  1. 시작 > 실행을 누르고 msconfig를 입력한 다음 확인을 누르십시오.
  2. 시작프로그램 탭에서 다음과 같이 하십시오.
    Windows Vista 또는 Windows 2008 Server를 실행하고 있는 경우 Symantec Security Technologies를 선택 해제하십시오.
    다른 버전의 Windows를 실행하고 있는 경우에는 ccApp를 선택 해제하십시오.
  3. 서비스 탭에서 다음 항목을 선택 해제하십시오.
    • Symantec Event Manager
    • Symantec Settings Manager
    • LiveUpdate
    • Symantec Management Client
    • Symantec Network Access Control
    • Symantec Endpoint Protection
  4. 확인를 누른 다음 컴퓨터를 재시작하십시오.
  5. 컴퓨터를 시작하고 나면 경고가 나타납니다. 상자를 선택한 다음 확인을 누르십시오.

Windows 2000을 실행하고 있는 경우 Symantec Endpoint Protection을 중지하려면 다음과 같이 하십시오.
  1. 시작 > 실행을 누르고 regedit를 입력한 다음 확인을 누르십시오.
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 키를 찾으십시오.
  3. ccApp 값을 삭제하십시오.
  4. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 키를 찾으십시오.
  5. 다음 키 및 해당하는 모든 하위 키를 함께 삭제하십시오.
    • ccEvtMgr
    • ccSetMgr
    • LiveUpdate
    • SmcService
    • SNAC
    • Symantec AntiVirus
  6. 시스템을 재시작하십시오.

Teefer2 드라이버 제거
Windows Vista 또는 Windows 2008 Server를 실행하고 있는 경우 Teefer2 드라이버를 제거해야 합니다. 드라이버를 제거하면 일시적으로 네트워크 연결이 실행 중지되므로 원격으로 드라이버를 제거해서는 안 됩니다. 

Teefer2 드라이버를 제거하려면 다음과 같이 하십시오.
  1. 시작 실행을 누르고 cmd를 입력한 다음 Enter 키를 누르십시오.
  2. pnputil -e를 입력하여 드라이버 저장소의 Symantec 드라이버를 나열하십시오.
  3. pnputil -f -d oem<n>.inf를 입력하여 드라이버 저장소에서 Symantec 드라이버를 제거합니다. 여기에서 <n>은 이전 단계에서 나열된 Symantec 드라이버 중 하나에 해당하는 번호입니다.
  4. exit를 입력하여 명령 프롬프트를 닫으십시오.
  5. 시작 > 실행을 누르고 regedit를 입력한 다음 확인을 누르십시오.
  6. 다음 키를 찾으십시오.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}
  7. ComponentId 값이 "symc_teefer2mp"로 설정된 키를 모두 검색하십시오. 해당 값을 사용하여 찾은 각 키에서 Characteristics 값을 두 번 누르고 "9"로 설정합니다.
  8. 다음 키를 찾으십시오.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
  9. Teefer2 키를 제거하십시오.
  10. 시스템을 재시작하십시오.
    컴퓨터가 시작된 후에는 컴퓨터가 네트워크에 연결되지 않습니다.
  11. Windows 바탕 화면에서 내 컴퓨터를 마우스 오른쪽 버튼으로 누른 다음 속성을 누르십시오.
  12. 하드웨어 탭에서 장치 관리자를 누르십시오.
  13. 네트워크 어댑터 아래에서 teefer 문자열이 포함된 모든 네트워크 어댑터를 삭제하십시오.
  14. 네트워크 어댑터를 마우스 오른쪽 버튼으로 누르고 하드웨어 변경 사항 검색을 누르십시오.
    네트워크 어댑터 드라이버가 다시 설치됩니다. 이 단계에서는 네트워크 연결을 복원합니다.

레지스트리에서 Symantec Endpoint Protection 제거
  1. Windows Installer Cleanup 유틸리티를 실행하여 Symantec Endpoint Protection을 제거하십시오.
    Windows Installer Cleanup 유틸리티는 http://support.microsoft.com/default.aspx?scid=kb;ko-kr;290301에서 찾을 수 있습니다.
  2. 시작 > 실행을 누르고 regedit를 입력한 다음 확인을 누르십시오.
  3. Windows 레지스트리 편집기의 왼쪽 창에서 다음 키가 있을 경우 삭제하십시오. 해당 키가 없으면 다음 키로 넘어가십시오.
    • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\LDVPMenu
    • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.liveupdate
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{E14D5EB5-438A-4362-BD0A-C3DFC150FF24}
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Sevinst
    • HKEY_LOCAL_MACHINE\SOFTWARE\Symantec
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\ccEvtMgr
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\ccSetMgr
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\Symantec Antivirus
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\Symantec Antvirus
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\ccEvtMgr
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\ccSetMgrHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\SmcService
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Symantec Antivirus
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Symantec Antvirus
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_EECTRL
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_ERASERUTILDRVI7
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_ERASERUTILREBOOTDRV
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_NAVENG
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_NAVEX15
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_SRTSP
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_SRTSPX
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_SYMEVENT
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_WPS
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_WPSHELPER
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\SYMC_TEEFER2MP
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ccEvtMgr
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ccSetMgr
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\eeCtrl
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EraserUtilRebootDrv
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\ccSvcHst
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\LiveUpdate
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\SescLU
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Symantec AntiVirus
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\SRTSP
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\SRTSPL
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LiveUpdate
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NAVENG
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NAVEX15
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SmcService
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNAC
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SnacNp
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SRTSP
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SRTSPL
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SRTSPX
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Symantec AntiVirus
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SymEvent
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Teefer2
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WPS
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WpsHelper
    • HKEY_LOCAL_MACHINE\SYSTEM\SYMANTEC
  4. 다음 키의 경로에서 "Symantec"이 있는 값을 제거하십시오.
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls
  5. 다음 키를 찾으십시오.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP
  6. Backup으로 끝나는 값 이름을 검색하십시오. 찾은 각 값에 대해 원래 값을 삭제하고 백업 값을 원래 이름과 일치하도록 바꾸십시오.
    예를 들어 ConfigUiPathBackup을 찾은 경우 ConfigUiPath 값을 삭제하고 ConfigUiPathBackup을 ConfigUiPath로 바꾸십시오.
  7. FriendlyName이 Symantec NAC Transparent Mode로 설정되어 있는 하위 키를 제거하십시오.
  8. 다음 키를 찾으십시오.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{ad498944-762f-11d0-8dcb-00c04fc3358c}
  9. 이름에 SYMC_TEEFER2MP가 포함되어 있는 하위 키를 모두 삭제하십시오.
  10. 다음 키를 찾으십시오.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{cac88424-7515-4c03-82e6-71a87abac361}
    이름에 SYMC_TEEFER2MP가 포함되어 있는 하위 키를 모두 삭제하십시오.
  11. 64비트 운영 체제를 실행하고 있는 경우 다음 키를 제거하십시오.
    • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\*\ShellEx\ContextMenuHandlers\LDVPMenu
    • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\.liveupdate
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\*\ShellEx\ContextMenuHandlers\LDVPMenu
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\.liveupdate
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\ccApp.exe
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\LUALL.EXE
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Controls Folder\Display\shellex\PropertySheetHandlers\LDVP Shell Extensions
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\LiveUpdate
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Symantec
  12. 시스템을 재시작하십시오.


Symantec Endpoint Security 파일 및 폴더 제거
  1. 컴퓨터를 안전 모드로 재시작하십시오. 
    Windows Vista에서 안전 모드로 들어가려면 Microsoft 문서 안전 모드에서 컴퓨터 시작을 읽어 보십시오.
  2. 안전 모드에서 관리자 계정으로 로그온하십시오.
  3. 다음 파일과 폴더를 삭제하십시오. 파일이나 폴더가 없으면 다음 파일 또는 폴더로 넘어가십시오.
    • C:\Program Files\Symantec
    • C:\Program Files\Common Files\Symantec Shared
    • C:\WINDOWS\system32\drivers\srtsp.cat
    • C:\WINDOWS\system32\drivers\srtsp.inf
    • C:\WINDOWS\system32\drivers\srtsp.sys
    • C:\WINDOWS\system32\drivers\srtspl.cat
    • C:\WINDOWS\system32\drivers\srtspl.inf
    • C:\WINDOWS\system32\drivers\srtspl.sys
    • C:\WINDOWS\system32\drivers\srtspx.cat
    • C:\WINDOWS\system32\drivers\srtspx.inf
    • C:\WINDOWS\system32\drivers\srtspx.sys
    • C:\WINDOWS\system32\drivers\symdns.sys
    • C:\WINDOWS\system32\drivers\SYMEVENT.CAT
    • C:\WINDOWS\system32\drivers\SYMEVENT.INF
    • C:\WINDOWS\system32\drivers\SYMEVENT.SYS
    • C:\WINDOWS\system32\drivers\symfw.sys
    • C:\WINDOWS\system32\drivers\symids.sys
    • C:\WINDOWS\system32\drivers\symndis.sys
    • C:\WINDOWS\system32\drivers\symndisv.sys
    • C:\WINDOWS\system32\drivers\SymRedir.cat
    • C:\WINDOWS\system32\drivers\SymRedir.inf
    • C:\WINDOWS\system32\drivers\symredrv.sys
    • C:\WINDOWS\system32\drivers\symtdi.sys
    • C:\WINDOWS\system32\drivers\SysPlant.sys
    • C:\WINDOWS\system32\drivers\teefer2.sys
    • C:\WINDOWS\system32\drivers\WGX.SYS
    • C:\WINDOWS\system32\drivers\WPSDRVnt.sys
    • C:\WINDOWS\system32\drivers\WpsHelper.sys
    • C:\WINDOWS\system32\BugslayerUtil.dll
    • C:\WINDOWS\system32\cba.dll
    • C:\WINDOWS\system32\FwsVpn.dll
    • C:\WINDOWS\system32\loc32vc0.dll
    • C:\WINDOWS\system32\msgsys.dll
    • C:\WINDOWS\system32\nts.dll
    • C:\WINDOWS\system32\pds.dll
    • C:\WINDOWS\system32\sysfer.dll
    • C:\WINDOWS\system32\SymVPN.dll
  4. Symantec이라는 문자열이 포함된 파일을 검색하여 모두 삭제하십시오.
  5. 64비트 운영 체제를 실행하고 있는 경우 다음 폴더를 제거하십시오.
    • C:\Program Files (x86)\Symantec
    • C:\Program Files (x86)\Common Files\Symantec Shared
  6. Windows 2000, Windows XP 또는 Windows 2003을 실행하고 있는 경우, 다음 폴더를 제거하십시오.
    C:\Documents and Settings\All Users\Application Data\Symantec
  7. Windows Vista 또는 Windows 2008 Server를 실행하고 있는 경우, 다음 폴더를 제거하십시오.
    C:\ProgramData\Symantec
  8. 액세스 거부 오류가 발생할 경우 폴더를 삭제하기 전에 폴더의 소유권을 가지고 자신에게 모든 권한을 제공하십시오.
  9. C:\Windows\Installer로 이동하십시오.
  10. "C:\Windows\Installer folder"에 있는 각 파일을 마우스 오른쪽 버튼으로 누르고 속성을 선택하십시오.
  11. 요약 탭에서 Symantec에 의해 생성된 파일인지 여부를 확인하십시오. Symantec에서 생성된 파일인 경우 파일을 삭제하십시오. 폴더의 각 파일에 대해 이 과정을 반복하십시오.

  12. 참고 자료
"기본 제공된 Administrator 계정 사용/사용 안 함":
http://technet.microsoft.com/ko-kr/library/cc766343.aspx

"안전 모드에서 컴퓨터 시작":
http://windowshelp.microsoft.com/Windows/ko-KR/help/323ef48f-7b93-4079-a48a-5c58eec904a11042.mspx



문서 번호: 20090511152908966
최근 업데이트: 2009-05-20
작성된 날짜: 2009-05-11
적용 제품: Endpoint Protection Small Business Edition 12
:
Posted by 라면스프