반응형

Web3.0의 시맨틱 웹이 표준화 되고있는 시대이다.

이시대에서 Web2.0의 주요 패러다임에 대해 한번정도 정리해보는 것도 나쁘지 않다.

Ajax 강의준비를 위해 간단히 Ria의 개념을 알아보고 넘어가도록 하겠다.

[1] RIA의 정의
RIA는 Rich Internet Application 의 약어다. C/S 간의 관계에서 웹은 계속적으로 진화해 왔으니 아직까지, 일반 데스크탑 Application 프로그램처럼 다이나믹하고, 유저의 인터페이스가 편하지 않은 것이 사실이었다. 그래서 Macromedia사에서 2002년 RIA를 처음 소개 하게 되었다. RIA란, 전통적인 데스크톱 응용 프로그램의 특징과 기능을 가지는  웹 응용 프로그램이다.

결과적으로 유저입장에서 이페이지 저 페이지 왔다리 갔다리 하는 인터페이스는 사용자 입장에서 매우 불편하다. 이 모든 처리과정을 한페이지에서 깜박거림현상(새로고침) 없이 할 수 있도록 지원해주는 기능을 제공해 준다.

[2] RIA의 기술들

[ AJAX/DHTML ]
JavaScript와 XML를 이용한 비동기 호출을 이용하는 방식이다. 현재 여러 업체에서 사용중에 있으며, 주요 엔진으로는 prototype, jquery 등등의 Ajax 엔진이 존재한다.

[ FLASH ]
ADOBE 사에서 개발한 그래픽 개발방법으로, ActionScript를 이용하여 다이나믹한 사용자 인터페이스를 구현 할수 있도록 되어있다. 현재 FLEX의 발전으로 이어지고 있다.

[FLEX]
ADOBE 사에서 소개한 엔터프라이즈 개발을 목적으로 한 플랫폼이다. 플래쉬와 같이 SWF 파일의 확장자로 구현되긴 하지만, FLASH에 비해 다양한 비동기 통신이 가능하다. (현재 cgv예매 사이트가 flex로 개발된 대표적인 예이다.)

[ ActiveX ]
MS사에서 개발한 위대한 걸적이다. 주로 C코드를 이용하여 개발을 하게 되며, IE에서는 필수적으로 돌아가는 Application이다. 하지만 현재 HTML5가 표준이되고 있는 시점에서 MS사에서는 ActiveX를 버렸다. 이번 IE9에서는 ActiveX가 완젼히 사라질것인지 주목해볼만한 점이다.

[3] 왜 RIA가 각광받는가.?



구글맵 서비스를 보라... 사용자가 원하는 지역을 선택할때마다 새로운 지도가 보여진다. 흠.. 이걸 어케 구현하였을까?
비동기 통신을 이용한 것이다. 전체를 매번 리로딩 한다고 생각해 보아라.. 깜박거림 현상은 둘쨰 치고라도 유저입장에서
매우 짜증이 나는 일이 아닐 수 없다. 이에. RIA기술을 활용하면, 부분적으로 비동기 통신을 이용해 UPDATE가 가능하다.

[4] 정리
RIA라는 말은 WEB2.0에서 표현된 기술 패러다임의 집합이다. 즉, 특정기술을 일컫는 말은 아니다. 결과적으로 볼떄 이러한 기술들은 모두 유저의 입장에서 좀더 심플하고 reasonable한 GUI 인터페이스를 위해 존재하게 되었다.

ㅋㅋ 과거 안철수 연구소 시험문제에서 RIA에 대해 말해 보라 했을때 조금 당황했던 기억이 어렴풋 난다. ㅋㅋ 이젠 학생들에게 좀 더 확실히 설명 할 수 있을 것 같다.

                                                                                                                 - 2010.09.21 랑이씀 -
반응형

'이론개념 > 용어' 카테고리의 다른 글

[ JDK & SDK 차이 ]  (0) 2011.01.24
[ 발명자와 출원인의 차이점? ]  (0) 2011.01.19
[ 정량적 & 정성적 ]  (0) 2010.10.08
[ 단편화 현상 ]  (0) 2010.10.03
[정부프로젝트 관련 용어]  (0) 2010.08.26
반응형
우분투 서버 관리를 하다보면 비밀번호 정책 에 대해서 어떠한 기준이 있어야 한다.
기본적으로 우분투 서버에서는 비밀번호 정책을 아래와 같이한다.

[ /etc/shadow 파일 분석 ]
아래 예제를 통해 /etc/shadow 파일의 관리법에 대해 알아보자.

(1) 예제
testUserId:$6$Y4uSZiXB$ATxFDWKRERiTb4N1jPnOczrhuyZRc6vmNtXWMqK3h0HSu5jLGZQcz    3hqSwwx5C4TuJW0PDCVnvoi3JLYfSh120:14868:30:99999:3:::

위 예제를 보면, ":" 문자로 각각 정리된 것을 볼 수있다.
각각이 무엇을 의미하는지 알아보도록 하자.

(2) 분석

 [1] username 사용자 아이디를 의미한다. (testUserId)
 [2] password 암호화된 사용자 비밀번호(md5sum 암호화)를 의미한다.
($$Y4uSZiXB$ATxFDWKRERiTb4N1jPnOczrhuyZRc6vmNtXWMqK3h0HSu5jLGZQcz    3hqSwwx5C4TuJW0PDCVnvoi3JLYfSh120
 [3] last 1970년 1월 1일을 기준으로 최근 비밀번호를 변경한 날이다. (14868)
 [4] must 비밀번호 변경 후 재변경 기간이다. (30)
 [5] warn 비밀번호가 만료되기 전까지 사용자에게 비밀번호를 변경하라고
권고의 메시지를 보내는 기간이다. (99999)
 [6] expire 비밀번호가 만료된 다음 사용자 계정이 사용불가능 하게 까지의 기간이다. (3)
 [7] disable 1970년 1월 1일을 기준으로 사용자 계정이 사용불가능 하게 된 날을 가리킨다.
 [8] reserver 남겨둔 예약 공간이다. 


(3) 관리법

3,4,5,6 번을 특정값으로 sudo권한을 이용해 부여하게 된다면, 사용자 비밀번호 정책 관리는
원활하게 이루어 지게 될것이다.


                                                                                            - 2010.09.19 랑이씀 -
반응형
반응형
학교에서 Java 강의를 하기위해 강의자료를 만들던중...

과거에 제대로된 예제가 없어서 확실히 이해하지 못했던 Abstract Class에 대해서 알아보게되었다.

이리저리 좋은예제가없나 해서 이책저책 뒤지다가 좋은 예제를발견하게되어 한번 정리를 하고 넘어가도록 하겠다.

이런기회에 정리하지 않으면 안될듯하다.

[1] Abstract 란?
한국말로 표현하면 "추상화"라는 단어로 말할 수있다. 과연 추상화란 무엇인가? 아주 두리뭉실한 단어이지만, 좀 쉽게 설명해보도록 하겠다. 추상화란 어떠한 구체적인 개념으로부터 공통된 부분들만 추려내어 일반화 할 수 있도록 하는 것을 의미한다.
ㅎㅎ 적고나니 더 어렵다.ㅎㅎㅎ 뒤에 예제를 보면 쉽게 이해가 갈테이 정의는 여기서 접도록 하겠다.

[2] Abstract 메소드란?
추상화를 언급하기위해 추상메소드 부터 이해해 보도록 하자. 추상메소드란, 메소드 뒤의 {} 중괄호를 생략하여, 사실상 body즉, 내용이없는 메소드를 의미한다. 어찌보면 C언어의 header를 선언하는것과 같은 형태를 지닌다.
아래 형태를 잘 기억해 두길 바란다.


[접근제한] abstract class [클래스명] {}

ex) public abstract class testEX();

[3] 추상 클래스란?
추상클래스의 정의는 아주쉽다. 걍~ 추상메소드가 1개이상 들어가 있으면, 무조건적으로 추상클래스 라고 부른다. ㅋ

아래 예제를 통해 추상클래스의 형태를 살펴 보도록 하자.

abstract class testClass{
      public void aaa(){
            System.out.println("aaa");
      }

      public abstract class testEX();

}

위 예제에서 보듯이 다른거 없다.aaa()라는 구현된 메소드가 있긴 하지만, testEX()라는 추상메소드가 있기 때문에 이 클래스는 추상클래스 라고 부르는 것이다. ㅋ

[4] 추상클래스는 과연 어디다가 써먹는 것인가?
이 글을 쓰게된 이유다... 학생들에게 강의시 예제를 넣어주어야 하는데 어떤걸 할지 고민많이했다 ㅋㅋ 바로 스타크래프트를 예제로 드는것이다. 아래 그림을 보라.



위 그림은 간단한 클래스 다이어그램이다. 즉 Unit이 라는 클래스가 있고 Terran, Zero,  Protoss 의 3개의 클래스는 Unit 클래스를 상속받고 있는 그림이다.

잘보면 decEnerge()라는 메소드가 보일것이다. 이 메소드를 보니, 모두 동일한것들이 하위 3개의 클래스에 선언되어있다. 여기까지 애기했으면 머리좋은 놈들은 바로 알것이다. 각 종족별로 때렸을때 데미지는 틀리다. 그 데미지를 깍는 메소드가 바로 decEneger()이다. 서로다른 데미지 타격을 각각의 클래스마다 선언 후 구현하는것보다 Body가 없는 Unit의 decEnerge()를 상속받아 각각 오버라이딩만 하게 되면, 아주쉽게 하나의 메소드로 구현가능하다.

만약 이런방식을 하지않는경우 각각의 클래스마다 데미지를 감소시키는 메소드명이 서로 달라, 추후 SM시 혼돈이 발생될 우려가 있기 때문에, 이런방식을 추천하는것이다.

[5] 최종 설명끝
소스를 별도로 붙이진 않겠다. 그건 쪽팔리는 일이다. 개념을 알고 접근하는 것이 중요하기 떄문이다. 요 예제는 참 좋은것같다.
특히 게임을 좋아하는 여러 학생들에게는 아주 좋은 예제인것같다. ㅎㅎㅎ 앞으로 요걸로 강의많이해야징 ㅋ


                                                                                   - 2010.09.16 랑이씀 -

반응형

'Program > JAVA' 카테고리의 다른 글

[ Vector와 ArrayList의 차이점]  (2) 2010.11.22
POJO(Plain Old Java Object) 란?  (5) 2010.11.05
JAVA에서 HashCode 값이 유일한가.?  (0) 2010.03.17
Spring 설정 방법 - UPDATE중  (0) 2010.02.09
[ Factory Pattern ]  (0) 2010.02.07
반응형
우분투에서 로그인시 환영 메시지를 작성 가능하다.

아래 절차대로 하면 쉽게 된다.

[1] /etc/ssh or /etc/ssh2 에서 sshd_config 파일을 연다.

[2] #Banner /etc/issue.net 파일의 주석을 없앤다.

[3] /etc/issue.net 파일을 관리자의 호기에 맞게 수정한다.

[4] sudo /etc/init.d/ssh restart 를 이용하여 ssh를 재시작 한다.


그럼 아래와 같은 그림이 뜬다 ㅋㅋㅋ

 login as: test
/***************************************************************************/
/* Welcome to Ower Develope Server!!                                                         */
/* Please change your password per month                                                 */
/* Administrator :                                                                      
                 */
/***************************************************************************/


test@srzero.co.kr's password:


반응형

'Server > Linux' 카테고리의 다른 글

[Tomcat 에 Port 추가방법]  (0) 2010.09.25
[ /etc/shadow 파일 분석]  (0) 2010.09.19
[Linux 사용자 계정관리]  (0) 2010.09.07
[ Linux 유용한 명령어 모음집 ]  (0) 2010.07.13
Linux Os Kernel Version 정보 확인방법  (0) 2010.06.15

+ Recent posts