DOM Script라는 말이 있는데, 이는 새로운 스크립트를 말하는 것은 아니다. 사실 DOM Script 라는 말은 없다. DOM 과 Script는 구분 되는 개념이다. 다만 두 개념이 아주 밀접한 관계가 있어서 연결해서 부르고 있을 뿐이다.

 

1.DOM

DOM은 문서의 논리적 구성을 말한다.

좁게 예기하지만 논리적 마크업이다.

DOM에선 문서의 각 요소를 노드(Node)라고 부르며 요소 노드(Element Node)와 텍스트 노드(Text Node) 및 요소 노드에 있는 속성 값들을 속성 노드(Atrribute Node)로 인식한다.

 



2.스크립트

스크립트의 표준은 ECMA Script이며 대부분 자바스크립트 중에서 표준을 정한 것이다. 거의 대부분의 브라우저가 ECMA Script를 지원한다. 다만 스크립트 작성 시 아래 사항을 고려해야한다.

 

 

 

● onclick과 같은 이벤트 핸들러를 마크업에 추가하면 스크립트의 완벽한 분리가 어려우며 id나 class를 사용하여 외부 스크립트 함수를 통해 실행 되도록 한다.

● return false;를 추가하여 스크립트 미작동 환경에서는 마크업의 a 태그가 실행되도록한다.

● 하위 호환성을 위해 if (!document.getElementById) return false;를 추가한다.

● 브라우저가 문서를 다 불러온 후 코드가 실행되도록 onload이벤트를 추가한다.

 

 

[출처] 웹표준과 DOM Script (컴퓨터/웹표준/웹접근성/사진/여행...) |작성자 박실짱

'Languages > JavaScript' 카테고리의 다른 글

동적 폼 생성 스크립트  (0) 2012.06.22

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,

Java API 모음

Languages/Java 2012. 6. 25. 21:48

자바 1.5 api 영문 : http://java.sun.com/j2se/1.5.0/docs/api/index.html
 
자바 1.6 api 영문 : http://java.sun.com/javase/6/docs/api/
 
자바 1.7 api 영문 : http://docs.oracle.com/javase/7/docs/api/index.html

 

스프링 2.5 api 영문 : http://static.springsource.org/spring/docs/2.5.x/api/index.html

 

스프링 3.1 api 영문 : http://static.springsource.org/spring/docs/3.1.x/javadoc-api/

 

그루비 api 영문 : http://groovy.codehaus.org/groovy-jdk/
 
Tomcat 5.5 Servlet api 영문 : http://tomcat.apache.org/tomcat-5.5-doc/servletapi/index.html
 
Tomcat 5.5 Jsp api 영문 : http://tomcat.apache.org/tomcat-5.5-doc/jspapi/index.html
 
Tomcat 6.0 api 영문 : http://tomcat.apache.org/tomcat-6.0-doc/api/index.html
 
Tomcat 7.0 api 영문 : http://tomcat.apache.org/tomcat-7.0-doc/api/index.html
 
Tomcat 7.0 Servlet api 영문 : http://tomcat.apache.org/tomcat-7.0-doc/servletapi/index.html
 
Tomcat 7.0 Jsp api 영문 : http://tomcat.apache.org/tomcat-7.0-doc/jspapi/index.html
 
iBatis dev api : http://ibatis.apache.org/docs/java/dev/
 
iBatis user api : http://ibatis.apache.org/docs/java/user/

 

자바 POI API 영문 : http://poi.apache.org/apidocs/

'Languages > Java' 카테고리의 다른 글

자바기초(1) Hello World  (0) 2012.06.29
AWT, Swing 이클립스에서 실행시 한글 깨짐  (0) 2012.06.29
간단한 암호화 모듈  (0) 2012.06.25
EJB란?  (1) 2012.06.21
POJO란 무엇인가?  (0) 2012.06.21

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,

아주아주 간단한 암호화 모듈을 하나 소개 합니다.

암호화 : 키 값을 정하고 정한 키값과 스트링을 입력해서 암호화된 스트링을

반환 받습니다.

복호화 : 키 값과 암호화 된 스트링을 입력하면 원래의 암호화 되기 전 스트링 값을 리턴 받습니다.

 

소스는 아래와 같습니다.

 

package enc;


import java.security.SecureRandom;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;

/**
 * Usage:
 * 
 * String crypto = SimpleCrypto.encrypt(masterpassword, cleartext)
 * ...
 * String cleartext = SimpleCrypto.decrypt(masterpassword, crypto)
 * 
* @author ferenc.hechler */ public class SimpleCrypto { private final static String HEX = "0123456789ABCDEF"; public static String encrypt(String seed, String cleartext) throws Exception { byte[] rawKey = getRawKey(seed.getBytes()); byte[] result = encrypt(rawKey, cleartext.getBytes()); return toHex(result); } public static String decrypt(String seed, String encrypted) throws Exception { byte[] rawKey = getRawKey(seed.getBytes()); byte[] enc = toByte(encrypted); byte[] result = decrypt(rawKey, enc); return new String(result); } private static byte[] getRawKey(byte[] seed) throws Exception { KeyGenerator kgen = KeyGenerator.getInstance("AES"); SecureRandom sr = SecureRandom.getInstance("SHA1PRNG"); sr.setSeed(seed); kgen.init(128, sr); SecretKey skey = kgen.generateKey(); byte[] raw = skey.getEncoded(); return raw; } private static byte[] encrypt(byte[] raw, byte[] clear) throws Exception { SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.ENCRYPT_MODE, skeySpec); byte[] encrypted = cipher.doFinal(clear); return encrypted; } private static byte[] decrypt(byte[] raw, byte[] encrypted) throws Exception { SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.DECRYPT_MODE, skeySpec); byte[] decrypted = cipher.doFinal(encrypted); return decrypted; } public static String toHex(String txt) { return toHex(txt.getBytes()); } public static String fromHex(String hex) { return new String(toByte(hex)); } public static byte[] toByte(String hexString) { int len = hexString.length()/2; byte[] result = new byte[len]; for (int i = 0; i < len; i++) result[i] = Integer.valueOf(hexString.substring(2*i, 2*i+2), 16).byteValue(); return result; } public static String toHex(byte[] buf) { if (buf == null) return ""; StringBuffer result = new StringBuffer(2*buf.length); for (int i = 0; i < buf.length; i++) { appendHex(result, buf[i]); } return result.toString(); } private static void appendHex(StringBuffer sb, byte b) { sb.append(HEX.charAt((b>>4)&0x0f)).append(HEX.charAt(b&0x0f)); } public static void main(String args[]) { SimpleCrypto cr = new SimpleCrypto(); // 암호화 Key 설정 String key = "EncTestByKimByoungKi"; try { System.out.println("Encryped ID1 : " + cr.encrypt(key, "tds")); System.out.println("Encryped PW1 : " + cr.encrypt(key, "1qaz@WSX")); System.out.println("Encryped ID2 : " + cr.encrypt(key, "tds_dev2")); System.out.println("Encryped PW2 : " + cr.encrypt(key, "dnsdud123!")); System.out.println("Encryped ID1 : " + cr.decrypt(key, "58544B468EE67EB87FF2A617FFB7D7C0")); System.out.println("Encryped PW1 : " + cr.decrypt(key, "C9D99D34BB00936FA1C0731D98873CE2")); System.out.println("Encryped ID2 : " + cr.decrypt(key, "4D7E7AD0670DC2FCD0E9D7D4C98008A8")); System.out.println("Encryped PW2 : " + cr.decrypt(key, "3DFB2746F3CBD8D87D7E239DD7ADBE4C")); } catch (Exception e) { e.printStackTrace(); } } }

이클립스 등에서 실행 해보면 간단한 암/복호화를 실제 해볼 수 있습니다.

 

'Languages > Java' 카테고리의 다른 글

AWT, Swing 이클립스에서 실행시 한글 깨짐  (0) 2012.06.29
Java API 모음  (0) 2012.06.25
EJB란?  (1) 2012.06.21
POJO란 무엇인가?  (0) 2012.06.21
History of Java  (0) 2012.06.21

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,