serialversionutil-civan.zip

1. Serialization 이란?

 

  모든 데이터의 흐름은 바이트 전송으로 이루어 집니다. 이것은 객체도 마찬가진데, 이때 사용되는 개념이 Serialization 이라는 것이고 자바에서는 java.io.Serializable 이라는 interface입니다.

이것을 사용하는 방법은 implements Serializable 이라고 class명 옆에다 추가만 해주면 됩니다. 그런데, 클래서를 선언하면 static final long 타입의 serialVersionUID 상수를 선언하라는 경고문구를
이클립스의 노란 warning 아이콘과 더불어 확인 할 수 있습니다.

 

2. serialVersionUID 용도는?

 

만일 serialVersionUID를 지정하지 않으면 실행시점에서 JVM이 디폴트 값을 산정하게 되며,
그 알고리즘은 Java(TM) Object Serialization Specification 정의된 것을 따른다고 합니다.
한마디로 굳이 신경 쓸필요는 없다는 뜻이고 이클립스내에서 이 경고아이콘을 제외하도록 설정할 수도 있습니다.

그러나 모든 serialization이 필요한 클래스에는 명시적으로 serialVersionUID를 선언해줄것을 강력하게 권유하고 있는데 그 이유는 디폴트 serialVersionUID 계산은 클래스의 세부 사항을 매우 민감하게 반영하기 때문에 컴파일러 구현체에 따라서 달라질 수 있어 deserialization(serialization 했던 객체를 복구하는 과정)과정에서 예상하지 못한 InvalidClassExceptions을 유발할 수 있다 라는 것이 그 이유입니다.

즉 서로 다른 자바 컴파일러 구현체 사이에서도 동일한 serialVersionUID값을 얻기 위해서는 명시적으로 serialVersionUID값을 선언해야 하며 가능한 serialVersionUID을 private으로 선언하라는 것입니다.

 

3. 쉽게하는 방법은?

 

그러나, 이것을 간단히 할 수 있는 방법은 serialver.exe를 사용하는 것입니다.

첨부파일을 압축을 풀고 이클립스 플러그인 디렉토리에 넣어두면 자동생성 플러그인 설치는 끝
3.3에서도 이상없이 작동한다. 사용방법은 다음과 같다.
파일을 선택 마우스 오른클릭하면
Add serialVersionUID 라는 메뉴가 추가 되어 있는것을 확인할 수 있다.

import java.io.Serializable;

public class APIJson implements Serializable {

 /**
  *   아래 참조....
  */  
 private static final long serialVersionUID = 5005432000206295213L;

}

 

 

 

 

Posted by tuxxon
0. dns  설정하기

다음과 같이 resolv.conf파일을 이용하면 됩니다.

- search 기본적으로 먼저 찾아야 할 Hostname을 위한 domain 이름을 적어줍니다.
  보통 설정하는 호스트의 domain.name을 적어주면 되겠죠. 

$ sudo vi /etc/resolv.conf   
search tera terawords.com
nameserver 222.231.1.100
nameserver 222.231.2.251
nameserver 222.231.3.251


1. bind9 설치 (named설치)

$ sudo apt-get install bind9


2. Zone을 등록합니다.

$ sudo nano /etc/bind/named.conf.local

//
// Do any local configuration here
//
zone "terawords.com" {
        type master;
        file "/etc/bind/db.terawords.com";
};

3. Zone파일을 편집합니다.

$ sudo cp /etc/bind/db.local /etc/bind/db.terawords.com

$ sudo nano /etc/bind/db.terawords.com

$ vi /etc/bind/db.terawords.com

;
; BIND data file for local loopback interface
;
; 도메인 주소 뒤에 ' . ' 주의!!

$TTL    604800
@       IN      SOA     ns.terawords.comroot.terawords.com. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.terawords.com.
@       IN      A       211.233.81.91
www  IN      A       211.233.81.91
mail    IN      A       211.233.81.91
*        IN      A       211.233.81.91

$ sudo /etc/init.d/bind9 restart

'운영체제(OS) > Linux' 카테고리의 다른 글

Virtual User Host 라는 것  (0) 2009.12.31
Posted by tuxxon
0. 목적.
-------
"http://www.domain.com/~userid" 라는 URL 대신에
"http://userid.domain.com" 으로 바꿔서 서비스를 제공하려는 것입니다.

의외로 찾기가 힘들군요.
어쨌든 하나 찾아서, 다시 정리해서 올립니다.

간단히 3단계로 나눌수 있습니다.

1. 네임서버 설정
2. mod_rewrite 모듈 탑재
3. httpd.conf 에 rewrite 관련 설정


1. 네임서버 설정
----------------

해당하는 zone 파일에서 호스트 이름에 "*" 문자를 사용합니다.

* IN A 111.2.333.4


2. mod_rewrite 모듈 탑재
------------------------

a) 아파치의 모듈들이 설치된 디렉토리에 mod_rewrite.so 가 존재할 경우.

c) 로 건너 띄면 됩니다 ^^;

b) 아파치의 모듈들이 설치된 디렉토리에 mod_rewrite.so 가 없는 경우.

apache 를 다시 컴파일 합니다.

env CFLAGS="-DEAPI"
./configure
--prefix=/etc/httpd
--enable-module=so
--enable-shared=max
--enable-module=rewrite
--enable-shared=rewrite


make
make install

c) httpd.conf 에서 다음을 확인합니다.

LoadModule rewrite_module libexec/mod_rewrite.so
AddModule mod_rewrite.c


3. httpd.conf 에 rewrite 관련 설정
----------------------------------

<VirtualHost *>
ServerAdmin admin@domain.com
DocumentRoot /home/httpd/html
ServerName www.domain.com
ServerAlias domain.com *.domain.com
ErrorLog logs/domain.com-error_log
CustomLog logs/domain.com-access_log common

### Virtual User Hosts

RewriteEngine on

RewriteCond %{HTTP_HOST} !^www.domain.com$
RewriteCond %{HTTP_HOST} !^domain.com$
RewriteCond %{HTTP_HOST} ^[^.]+.domain.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+).domain.com(.*) /home/$1/html$2
</VirtualHost>

'운영체제(OS) > Linux' 카테고리의 다른 글

Ubuntu 서버에서 dns와 Bind9설정하는 법  (0) 2011.02.12
Posted by tuxxon
첫글 - 내 소개.

 소프트웨어 개발자로서 세상에서 내가 살아가는 과정을 써보고 싶습니다.

대학에선 컴퓨터 공학을 전공했고, 대기업에 들어가 보안분야에서 남들이 궁금해 하던 많을 일들을 해보았으며, 그 회사의 학비전액을 지원 받아  대학원에선 암호를 공부했습니다.  그러나 쓸데 없는 자존심으로 회사를 나와 사업을 해보겠다고 시작했는데.. 이건  누구 말처럼 잘가는 버스에서 내린 것이 아니라, 태평양 바다를 지나는 배에서 내린거나 같았습니다. 어디로 어느방향으로 가야할 지도 모른채 무작정 프로그램 작성해 팔기 시작했습니다. 처음엔 보안제품을 팔았는데, 그것도 팔리는 제품이 있고, 팔리지 않는 제품이 있더군요.

처음 만든 제품은 주로 해킹과 보안의 딱 중간에 있는 제품이었구요.  제품설명은 주로 해커들이 좋아할 만한 글귀로 채웠죠.. 또 우리나라에선 소프트웨어를 사주는 풍토가 많이 낮았기 때문에 아예 처음부터 영어로 시작을 했구요.

월매출 300만원까지 나왔는데, 문제는 Refund(환불)이 많았고, 주로 해커들이 많이 가져갔기 때문에.. 다운로드 대비, 판매율이 저조했습니다. 또 주로 중동 지역에서 많이 가져갔기때문에.. 정말 가면 갈 수록 실적이 좋지 않았습니다.

지금은 그 사이트를 없애고 영어로 된 소프트웨어 유통사이트(http://www.softahead.com)를 운영하고 있습니다.

이사이트 덕분에, SEO(Search Engine Optimization)등  소프트웨어 마케팅과 관련된 기법들을 습득할 수 있게 되었습니다.

또한, 다양한 사람들을 통해, 국내 인터넷 마케팅환경도 이해하게 되어서, 국내 소프트웨어(웹) 개발자들에게 도움이 될만한 글들을 블로그를 통해 써볼까 합니다. 

개인적으론 이사이트를 통해 국내 소프트웨어 개발자들이 해외로 수출할 수 있는 기회를 열어줄 수 있기를 바라지만, 아직 부족한 것이 너무 많아 시간이 많이 지나야 겠지요.
                                                                                                              -- Tuxxon 씀.

Posted by tuxxon
이전버튼 1 이전버튼

블로그 이미지
소프트웨어 개발자로서, 세상에 살아가는 과정을 그려보고 싶습니다. 그냥 즐겁게 봐주시기 바랍니다.
tuxxon

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.5
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

최근에 올라온 글

최근에 달린 댓글

글 보관함