.attr() : 어트리뷰트 값 가져 오기
.text() : 노드 값 가져오기
.each() : 하위 노드를 loop 하며 반복

이정도를 사용하여 파싱을 하면 될거 같습니다. 자세한 사용 방법은 jquery 사이트에서 사용법을 참조 바랍니다.

참조) jquery 사용하다보면 parseerror를 보는 경우가 있는데 이런경우는 xml을 구성할 때 문제가 있어 그런 경우가 많이 존재 하더군요... 그럴 경우에는 텍스트 인코딩을 확인해 보시면 좋을거 같습니다.


예제)

//플리커 이미지 검색 결과 파싱하기
<?xml version="1.0" encoding="utf-8" ?>
- <rsp stat="ok">
- <photos page="1" pages="154719" perpage="10" total="1547183">
  <photo id="4746148038" owner="37684022@N08" secret="7580975b6f" server="4078" farm="5" title="Testing" ispublic="1" isfriend="0" isfamily="0" />

$(result).find("rsp").find("photos").find("photo").each(function(){
  
  var farm = $(this).attr("farm");
...
}

//네이버 실시간 검색 파싱 예시
<?xml version="1.0" encoding="UTF-8" ?>
- <result>
- <item>
- <R1>
  <K>민영원</K>

var t1 = $(result).find("result").find("item");
 for (var i=1;i<11;i++){
  var t2 = t1.find("R"+i);
  
  var title = t2.find("K").text();
...
}
JQuery를 사용하다가 xml 를 파싱하려고 하는데... 난대 없는 parsererror ... -_-;

여기 저기 찾아보니깐 mimeType을 설정하지 않아서 그런거라 하네요.. 흠

그래서 뭐 해결안을 찾아보니깐...

1. 구글 Ajax를 이용하여 해결하는 방법
http://www.mail-archive.com/jquery-en@googlegroups.com/msg24858.html

2. 아니면 컨텐츠 타입 설정
application/xml or json

이런식으로 하면 되지요... 파싱애러에 유의 바랍니다. 훗

문자열을 파일로 저장하고 싶을 때 사용하면 됩니다.


public void save(String $file_name, String $value){
  
  try{
   InputStream in = new ByteArrayInputStream($value.toString().getBytes("UTF-8"));
   
   FileOutputStream fos = new FileOutputStream($file_name);
   
   BufferedInputStream bis = new BufferedInputStream(in);
   BufferedOutputStream bos = new BufferedOutputStream(fos);
   
   int len=0;
   byte[]buf = new byte[1024];
   while((len=bis.read(buf,0,1024))!=-1){
    bos.write(buf,0,len);
   }
   
   //close
   bos.close();
   bis.close();
   fos.close();
   in.close(); 
  }catch (Exception e) {
   e.printStackTrace();
  }  
 }
만화를 좋아하시는 분이라면 ... 웹에 존재하는 이미지를 보시는 경우가 있는데 이미지가 가령...
1.jpg , 2.jpg 이런식으로 이어지는 경우라면 일일이 마우스 우클릭하고 다른이름 저장 하고 다운 받는 것은 귀찮자나요.. -_-
그렇다고 해서 한페이지 씩 클릭하면서 보는 경우도 귀찮구 그냥 좀 기달렸다가 한번에 모든 이미지를 보고 싶은 경우가 있는데... 그럴때 사용하면 나름 괘안을거 같아요 .. 흠


대충 만들은 것인지라 보시고 자신에 취향에 맞게 수정하여 쓰시면 될거 같아요.. 아니면 뭐 다른 프로그램 다운 받아서 사용하셔도 되는데 그 프로그램 이름이 기억 안나서 ㅜㅜ 아.. 이 망할 기억력 ;;;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class ImageDownload {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  new ImageDownload();
 }

 public ImageDownload()
 {
  int len = 43;
  for(int i=3;i<len;i++){
    downloadFromUrl("http://194.100.19.194/3172%2F3_PHMZH%2Faki-sora_v01_c003-aki_sora_itosugi_masahiro_chapter003_"+getNum(i)+"-png","C:\\test\\"+getNum(i)+".jpg"); 
  }
 }
 
 private String getNum(int num)
 {
  if(num<10) return "0"+num;
  return ""+num;
 }
 
 public void downloadFromUrl(String imageURL, String fileName)
 {
  try
  {
   URL url = new URL(imageURL);
   URLConnection ucon = url.openConnection();
   InputStream is = ucon.getInputStream();
   
   FileOutputStream fos = new FileOutputStream(fileName);
   
   BufferedInputStream bis = new BufferedInputStream(is);
   BufferedOutputStream bos = new BufferedOutputStream(fos);
   
   int len=0;
   byte[]buf = new byte[1024];
   while((len=bis.read(buf,0,1024))!=-1){
    bos.write(buf,0,len);
   }
   
   //close
   bos.close();
   bis.close();
   fos.close();
   is.close();
   
  }
  catch(Exception e)
  {
   System.out.print(e);
  }
 }
}

콤보 박스 사용하면 dataProvider를 통해 내부 값을 설정 하도록 되어 있습니다.

값을 초기 1회만 설정 하면 상관이 없으나 외부에서 값을 받아와서 콤보 박스 내부의 값을 변경하고자 아래와 같이

dataProvider의 값만 변경하면 실제 내부의 값이 이상하게 변경되는 것을 확인 할 수 있습니다.

ex) cb.dataProvider = aaa; 이렇게 하면 값이 제대로 보이지 않음. 
콤보 박스의 다른 값을 선택한 다음에서야 제대로 값이 변경되는 것을 확인 할 수 있음.

이런 경우 처리 방안은.....

콤보 박스 내부 dropdown 의 폭 크기 및 값 업데이트 를 처리 해야 됩니다.

하지만 폭을 변경하기 위해서는 해당 데이터를 변경하였다는 시점을 알려주는 메시지를(dispatchEvent)를 받아야 되는데 그런 값을 보내주는 것이 안보이네요 -_-;(못찾은 것일수도 있겠죠.. 후후)

그래서 저 같은 경우는 값을 설정하고 난 이후 timer를 돌려 값을 잠시 뒤 변경하도록 처리 하였습니다.

자세한 사항은 첨부된 파일을 참조하여 테스트 하여 확인하시면 될것입니다.


&#13; 을 입력하면 줄바꿈을 할 수 있습니다.

참고로 13은 키코드 값을로 Enter 키 값 이죠 ^^;
Canvas

1. 기본 구성

ㄱ. <canvas id="canvas" width="300" height="300"></canvas>

ㄴ. 모든 브라우저가 canvas를 지원하는 것이 아니기 때문에 (IE빼고 다 되는거 같음)
=> 대비책으로 아래와 같은 방법으로 사용하면 됨. (태그 사이에 텍스트 또는 이미지 등을 넣어 표현)
<canvas id="canvas" width="300" height="300">Canvas is not support.</canvas>

2. 렌더링 하기
=> 현재는 2D를 기반으로 하고 있지만.. 차후에는 OPEN GL기반의 3D를 제공할 거라 함.

var canvas = document.getElementById('tutorial');
var ctx = canvas.getContext('2d');

3.지원 여부 확인하기

var canvas = document.getElementById('tutorial');
if(canvas.getContext){
//CANVAS 지원
var ctx = canvas.getContext('2d');
...
}else{
//CANVAS 미지원
...
}

4. 참조 기본 예제(사각형 2개 겹쳐 그리기)
=> Alpha값이 적용되기 때문에 겹쳐 지는 곳은 색상이 혼합되어 나온다.

1. <html>  
2. <head>  
3.  <script type="application/javascript">  
4.    function draw() {  
5.      var canvas = document.getElementById("canvas");  
6.      if (canvas.getContext) {  
7.        var ctx = canvas.getContext("2d");  
8.  
9.        ctx.fillStyle = "rgb(200,0,0)";  
10.        ctx.fillRect (10, 10, 55, 50);  
11.  
12.        ctx.fillStyle = "rgba(0, 0, 200, 0.5)";  
13.        ctx.fillRect (30, 30, 55, 50);  
14.      }  
15.    }  
16.  </script>  
17. </head>  
18. <body onload="draw();">  
19.   <canvas id="canvas" width="150" height="150"></canvas>  
20. </body>  
21. </html>  

1. 다운로드 (DMG로 다운하여 next신공으로 설치)
http://dev.mysql.com/downloads/mysql/

2. mysql 시작 / 종료
sudo /usr/local/mysql-버전정보/support-files/mysql.server start
sudo /usr/local/mysql-버전정보/support-files/mysql.server stop
(버전정보 부분은 설치된 버전에 따라 약간씩 상의 함.)

3. jdbc (커넥터) 다운로드
http://www.mysql.com/products/connector
에서 zip 파일을 다운로드 받은 이후 아카이브(압축파일)을 해제하여 jar 파일을 사용한다.

4.  테스트 사전 준비
ㄱ. JAVA Project 로 테스트 하는 경우  
=> Properties - Java Build Pat - Add External JARs로 파일 추가

ㄴ. Dynamic Web 으로 테스트 하는 경우
=> WebContent - WEB-INF - lib 에 좀전에 압축 해제한 jar 파일을 붙여 넣기 한다.

ㄷ. 참고 
- mysql 은 기본 설치 시 아이디 : root , 암호 : 없음 으로 설정 되어 있으며 test 데이터 베이스를 가지고 있음.
- 암호 변경 :
# ./mysql -u root -p mysql
Enter password:
mysql> update user set password=password('12345') where user = 'root';
mysql> flush privileges;


5. 테스트 코드

//java project
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JdbcTest {
public static void main(String args[]){
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
System.out.println("Success : "+conn.toString());
} catch(SQLException ex) {
System.out.println("SQLException" + ex);
} catch(Exception ex) {
System.out.println("Exception:" + ex);
}
}
}

//dynamic web test
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
out.println("conn success");
}catch(Exception e){
e.printStackTrace();
}
%>
</body>
</html>
개인 적으로 좋아 하는 만화 아라카와 언더 더 브릿지의 오프닝 곡을 포스팅 해 보았습니다.
약간 뭐랄까나 ... 흠 마사루 느낌의 만화 인데.. 끌리는 면이 있네요 후후 ... 그런데 오프닝 음악은 뭐랄까 느낌이 산뜻하다 할까나... 한번 들어 보세요 ^^


오프닝 곡인 ヴィ一ナスとジ一ザス 입니다.




아래는 PV 링크



즐감요


alternatingItemColors 를 사용 하면 됩니다.

[ 예시 ]
<mx:List dataProvider="{acc}" labelField="title" alternatingItemColors="[#EEEEEE, #FFFFFF]" />

+ Recent posts