캠핑과 개발

메일 발송이나 초대장 발송등의 경우 내용은 동일하지만 몇가지의 정보만 변경되는 경우가 많다.
이런 경우에 MessageFormat 을 사용하면 괜찮겠다.

/**
 *
 */
package kr.pe.anaconda.test;

import java.io.File;
import java.text.MessageFormat;
import java.text.ParseException;
import java.util.Scanner;

/**
 * @author diem
 *
 */
public class MessageFormatTest {
 
 /**
  * msg 문자열에  {숫자}로 지정된 영역을 arguments 배열에 담긴 값으로 채워준다. 
  */
 private static void exam1(){
  String msg = "Name: {0} \nTel: {1} \nAge: {2} \nBirthday: {3}. ";
  Object[] arguments = {"홍길동", "123-1234-1234", "31", "06-22"};
  String result = MessageFormat.format(msg, arguments);
  System.out.println(result);
 }
 
 /**
  * 일정한 형식의 문자열에 패턴에 지정된 문자열을 입력한다.
  */
 private static void exam2(){
  String tableName = "USER";
  String msg = "INSERT INTO " +
    tableName +
    " VALUES (''{0}'', ''{1}'', ''{2}'', ''{3}'');";
  
  Object[][] arguments = {
    {"홍길동", "02-123-1234", "19", "10-11"},
    {"전우치", "02-123-1235", "520", "10-15"}    
  };
  
  for(int i = 0; i < arguments.length; i++){
   String result = MessageFormat.format(msg, arguments[i]);
   System.out.println(result);
  }
 }
 
 /**
  * 문자열에서 지정된 패턴으로 데이터를 추출한다.
  * @throws ParseException
  */
 private static void exam3() throws ParseException{
  String[] data = {
   "INSERT INTO USER VALUES ('홍길동', '02-123-1234', '19', '10-11');",
   "INSERT INTO USER VALUES ('전우치', '02-123-1235', '520', '10-15');"
  };
  
  String pattern = "INSERT INTO USER VALUES ({0}, {1}, {2}, {3});";
  MessageFormat mf = new MessageFormat(pattern);
  
  for(int i = 0; i < data.length; i++){
   Object[] objs = mf.parse(data[i]);
   for(int j = 0; j < objs.length; j++ ){
    System.out.println(objs[j]);
   }
  }
 }
 
 
 /**
  * 지정된 문자열에 정해진 패턴에 맞게 파일에서 정보를 읽어와서 데이타를 채운다.
  * user.text
  * '홍길동', '02-123-1234', '19', '10-11'
  * '전우치', '02-123-1235', '520', '10-15'  
  * @throws Exception
  */
 private static void exam4() throws Exception{
  String tableName = "USER";
  String fileName = "c:\\Noname2.txt";
  String msg = "INSERT INTO " +
   tableName +
   " VALUES (''{0}'', ''{1}'', ''{2}'', ''{3}'');";
  File file = new File(fileName);
  if(file.exists()){
   Scanner s = new Scanner(file);
   String pattern = "{0},{1},{2},{3}";
   MessageFormat mf = new MessageFormat(pattern);
   while(s.hasNextLine()){
    String line = s.nextLine();
    Object[] objs = mf.parse(line);
    System.out.println(MessageFormat.format(msg, objs));
   } 
   
   //작업이 완료 되면 파일을 닫아준다.
   s.close();
  }  
 }

 /**
  * @param args
  */
 public static void main(String[] args) throws Exception {
  // TODO Auto-generated method stub
  //exam1();
  //exam2();
  //exam3();
  exam4();
 }

}



** MySQL 설치
http://www.mysql.com/ 에서 자신이 원하는 버전을 다운받습니다. 다운받은 파일 => mysql-5.5.0-m2-linux-i686-glibc23.tar.gz
(참고 : 키보드를 치기가 귀찮으시면 중간에 tab을눌러 자동완성 하거나 ($tar xvf mysql-5.*) 과같에 Asterisk를 사용하면 간편하게 작업을 할수 있습니다. )

파일이 유저디렉토리에 깔려있다는 전제에서 터미널 입력 방법입니다.


# cd ~
# gzip -d mysql-5.5.0-m2-linux-i686-glibc23.tar.gz
# tar xvf mysql-5.5.0-m2-linux-i686-glibc23.tar

컴파일 과정이 필요없습니다.

# groupadd mysql                                                         <-- mysql 그룹생성
# useradd -g mysql mysql                                            <-- mysql 그룹 에 mysql 유저생성
# mv mysql-5.5.0-m2-linux-i686-glibc23 /usr/local     <-- 적당한 위치로 폴더를 옮깁니다.
# cd /usr/local                                                               <-- 위치로 이동합니다.
# ln -s mysql-5.5.0-m2-linux-i686-glibc23 mysql        <-- 설정된 폴더이름과 mysql 디렉토리명을 동일화 합니다.
# cd mysql                                                                    <-- 위치로 이동합니다.
# chown -R mysql .                                                      <-- 파일 소유권 설정
# chgrp -R mysql .

# scripts/mysql_install_db --user=mysql
!위가 에러가 나는 경우
# scripts/mysql_install_db --user=mysql --no-defaults

# chown -R root .
# chown -R mysql data
# export PATH=$PATH:/usr/local/mysql/bin

--> 데몬 시작 : # mysqld_safe --user=mysql &
--> 접속        : # mysql -uroot -p암호
--> 데몬 종료 : # mysqladmin -uroot -p암호 shutdown

* 데몬 자동 시작
# gedit /etc/profile  => 맨 하단에 다음을 입력 => PATH = $PATH:/usr/local/mysql/bin
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

# chkconfig -add mysqld
!위가 안될경우
# apt-get install chkconfig

*확인
# netstat -n|p|grep 서비스명

*관리
# etc/init.d/mysqld [start|stop|restart]

출처 : http://blog.naver.com/labeldock?Redirect=Log&logNo=110077450


mysql innodb 설정

일반 2009.03.22 01:47:46
[레벨:13]휘즈 조회 수 5572 추천 수 0
innodb_data_home_dir = /var/lib/mysql/idb
- innodb 홈디렉터리 경로를 설정 합니다.
innodb_data_file_path = ibdata1:256M:autoextend:max:2000M
- 데티터 파일 옵션을 설정 합니다. 파일명 : 초기용량 : 자동증가 : 최대사이즈
innodb_log_group_home_dir = /var/lib/mysql/idb
innodb_log_arch_dir = /var/lib/mysql/idb
- 로그 디렉터리 정보
innodb_buffer_pool_size = 2G
- innodb에서 사용할 메모리 양으로 전체 메모리의 50~80% 정도로 설정
innodb_additional_mem_pool_size = 16M
innodb_log_file_size = 512M
- 로그 파일 사이즈로 버퍼풀 사이즈의 25% 정도로 설정
innodb_log_buffer_size = 2M
- 로그 버퍼 사이즈로 성능에 맞춰 로그를 기록하는 경우 크게 설정
innodb_flush_log_at_trx_commit = 2
- 커밋 로그 옵션으로 성능 최적화로 1분마다 저장되도록 2로 설정
innodb_lock_wait_timeout = 50
innodb_flush_method = O_DSYNC
- 성능을 위해 메모리에서 직접 액세스 하도록 설정


-----------------------------------------------
innodb를 재설정했을 때 db접근에 에러가 난다.
이때는 로그파일을 지우고 재시작한다.

'개발 > Linux' 카테고리의 다른 글

linux 명령어 - ln 심볼릭 링크  (0) 2011.05.25
linux - netstat  (0) 2011.02.14
vi 사용하기  (0) 2009.09.10
[linux] 시스템(하드웨어) 사양 보기  (0) 2009.02.18
[linux] Tomcat 설치  (0) 2009.02.15

단위 환산 프로그램입니다.
네이버에서 제공되는 소스기반으로 작성된 것입니다.
변환 단위는 온도, 속도, 압력, 부피, 넓이, 무게 질량, 길이 입니다.

 


'개발 > Javascript' 카테고리의 다른 글

[jquery] Form 플러그인 함수  (0) 2010.04.06
location.href 와 location.replace()  (0) 2010.03.31
Ajax 정복하기  (0) 2009.10.10
크로스 브라우저 투명 코드 처리  (0) 2009.09.21
[javascript] 사이트 즐겨찾기 추가하기  (0) 2009.09.17

색상표

카테고리 없음2010. 1. 4. 13:00

 색상표

 

 

원하는 색깔을 드래그해서 복사하십시오.

#93DAFF

#98DFFF

#9DE4FF

#A2E9FF

#A7EEFF

#ACF3FF

#B0F7FF

#B4FBFF

#B9FFFF

#C0FFFF

#87CEFA

#91D8FA

#A5D8FA

#AFDDFA

#B9E2FA

#C3E7FA

#CDECFA

#D7F1FA

#E1F6FA

#EBFBFF

#00BFFF

#0AC9FF

#14D3FF

#1EDDFF

#28E7FF

#32F1FF

#3CFBFF

#46FFFF

#96FFFF

#C8FFFF

#00A5FF

#00AFFF

#00B9FF

#00C3FF

#00CDFF

#00D7FF

#00E1FF

#00EBFF

#00F5FF

#00FFFF

#1EA4FF

#28AEFF

#32B8FF

#3CC2FF

#46CCFF

#50D6FF

#5AE0FF

#6EE0FF

#6EEAFF

#78F3FF

#1E90FF

#289AFF

#32A4FF

#3CAEFF

#46B8FF

#50C2FF

#5ACCFF

#64D6FF

#6EE0FF

#78EAFF

 

 

 

 

 

 

 

 

 

 

#96A5FF

#A0AFFF

#AAB9FF

#B4C3FF

#BECDFF

#C8D7FF

#D2E1FF

#DCEBFF

#E8F5FF

#F4FFFF

#86A5FF

#90AFFF

#9AB9FF

#A4C3FF

#AECDFF

#B8D7FF

#CCE1FF

#E0EBFF

#EBF5FF

#F9FFFF

#6495ED

#6E9FED

#78A9ED

#82B3ED

#8CBDED

#96C7ED

#A0D1F7

#AADBFF

#B4E5FF

#BEEFFF

 

 

 

 

 

 

 

 

 

 

#0078FF

#0A82FF

#148CFF

#1E96FF

#28A0FF

#32AAFF

#3CB4FF

#46BEFF

#50C8FF

#5AD2FF

#0064FF

#0A6EFF

#1478FF

#1E82FF

#288CFF

#3296FF

#3CA0FF

#46AAFF

#50B4FF

#5ABEFF

#0000FF

#3232FF

#5050FF

#646EFF

#6478FF

#6482FF

#648CFF

#6496FF

#64A0FF

#64AAFF

#4169E1

#4B73E1

#557DE1

#5F87E1

#6991E1

#739BE1

#7DA5E1

#87AFEB

#91B9F5

#9BC3FF

#0064CD

#0A6ECD

#1478CD

#1E82CD

#288CD2

#3296D7

#3CA0E1

#46AAEB

#50B4F5

#5ABEF5

#5A5AFF

#6464FF

#6E6EFF

#7878FF

#8282FF

#8C8CFF

#A0A0FF

#B4B4FF

#C8C8FF

#D2D2FF

 

 

 

 

 

 

 

 

 

 

#7B68EE

#8572EE

#8F7CEE

#9986EE

#A390EE

#AD9AEE

#B7A4EE

#C1AEEE

#CBB8EE

#D5C2EE

#6A5ACD

#7E6ECD

#8878CD

#9282CD

#9C8CCD

#A696CD

#B0A0CD

#BAAAD7

#C4B4E1

#CEBEE1

#0000CD

#2828CD

#4646CD

#6464CD

#6E6ED7

#7878E1

#8282EB

#8C8CF5

#9696FF

#A0A0FF

#00008C

#14148C

#28288C

#3C3C8C

#50508C

#646496

#7878AA

#8C8CBE

#A0A0C8

#B4B4DC

#483D8B

#52478B

#5C518B

#665B8B

#70658B

#7A6F95

#84799F

#8E83A9

#988DB3

#A297BD

#000069

#1E3269

#323C73

#3C467D

#3C5087

#3C5A91

#46649B

#506EA5

#5A78AF

#6482B9

 

#3DFF92

#47FF9C

#51FFA6

#5BFFB0

#65FFBA

#6FFFC4

#79FFCE

#75FFCA

#7AFFCF

#7FFFD4

#55EE94

#5FEE9E

#69EEA8

#73EEB2

#7DEEBC

#87EEC6

#91F8D0

#9BFFDA

#A5FFE4

#AFFFEE

#66CDAA

#70D2B4

#7AD7BE

#84DCC8

#8EE1D2

#98EBDC

#9DF0E1

#A2F5E6

#A7FAEB

#ACFFEF

 

 

 

 

 

 

 

 

 

 

#AAEBAA

#B4F0B4

#BEF5BE

#C8FAC8

#D2FFD2

#DCFFDC

#E1FFE1

#E6FFE6

#EBFFEB

#F0FFF0

#80E12A

#8AE634

#94EB3E

#9EF048

#A8F552

#B2FA5C

#BCFF66

#C1FF6B

#C6FF70

#CBFF75

#52E252

#5CE75C

#66EC66

#70F170

#7AF67A

#84FB84

#89FB89

#8EFB8E

#93FB93

#98FB98

#64CD3C

#6ED746

#78E150

#82EB5A

#8CF064

#96F56E

#9BFA73

#A0FA78

#A5FA7D

#AAFA82

 

 

 

 

 

 

 

 

 

 

#13C7A3

#18CCA8

#1DD1AD

#22D6B2

#27DBB7

#2CE0BC

#31E0C1

#36E0C6

#3BE0CB

#40E0D0

#46B4B4

#50BEBE

#5AC8C8

#64D2D2

#6EDCDC

#73E1E1

#78E6E6

#7DEBEB

#82F0F0

#87F5F5

#20B2AA

#2ABCB4

#34C6BE

#3ED0C8

#48DAD2

#52E4DC

#57E9E1

#5CEEE6

#61F3EB

#66F8F0

#5F9EA0

#69A8AA

#73B2B4

#7DBCBE

#87C6C8

#91D0D2

#96D5D7

#9BDADC

#A0DFE1

#A5E3E6

 

 

 

 

 

 

 

 

 

 

#3CB371

#46BD7B

#50C785

#5AD18F

#64DB99

#6EE5A3

#73EAA8

#78EFAD

#7DF4B2

#82F9B7

#2E8B57

#389561

#429F6B

#4CA975

#56B37F

#60BD89

#65C28E

#6AC793

#6FCC98

#74D19D

#228B22

#2C952C

#369F36

#40A940

#4AB34A

#54BD54

#5EC75E

#63CC63

#68D168

#6DD66D

#497649

#538053

#5D8A5D

#679467

#719E71

#7BA87B

#80AD80

#85B285

#8AB78A

#8FBC8F

#006400

#0A6E0A

#147814

#1E821E

#288C28

#329632

#3CA03C

#41A541

#46AA46

#4BAF4B

 

 

 

 

 

 

 

 

 

 

#008C8C

#0A9696

#14A0A0

#1EAAAA

#28B4B4

#32BEBE

#37C3C3

#3CC8C8

#41CDCD

#46D2D2

#008080

#0A8A8A

#149494

#1E9E9E

#28A8A8

#32B2B2

#37B7B7

#3CBCBC

#41C1C1

#46C6C6

 

#FFB6C1

#FFBBC6

#FFC0CB

#FFC5D0

#FFCAD5

#FFCFDA

#FFD4DF

#FFD9E4

#FFDEE9

#FFE3EE

#FFAAAF

#FFB4B9

#FFBEC3

#FFC8CD

#FFD2D7

#FFDCE1

#FFE1E6

#FFE6EB

#FFEBF0

#FFF0F5

#FF9E9B

#FFA8A5

#FFB2AF

#FFBCB9

#FFC6C3

#FFD0CD

#FFD5D2

#FFDAD7

#FFDFDC

#FFE4E1

#FF7A85

#FF848F

#FF8E99

#FF98A3

#FFA2AD

#FFACB7

#FFB1BC

#FFB6C1

#FFBBC6

#FFC0CB

#FF5675

#FF607F

#FF6A89

#FF7493

#FF7E9D

#FF88A7

#FF92B1

#FF9CBB

#FFA6C5

#FFB0CF

 

 

 

 

 

 

 

 

 

 

#FF82FF

#FF8CFF

#FF96FF

#FFA0FF

#FFAAFF

#FFB4FF

#FFBEFF

#FFC8FF

#FFD2FF

#FFDCFF

#FF7DB4

#FF87BE

#FF91C8

#FF9BD2

#FFA5DC

#FFAFE6

#FFB4EB

#FFB9F0

#FFBEF5

#FFC3FA

#FF69B4

#FF73BE

#FF7DC8

#FF87D2

#FF91DC

#FF9BE6

#FFA5F0

#FFAAF5

#FFAFFA

#FFB4FF

#FF1493

#FF1E9D

#FF28A7

#FF32B1

#FF3CBB

#FF46C5

#FF50CF

#FF5AD9

#FF64E3

#FF6EED

 

 

 

 

 

 

 

 

 

 

#DB7093

#DB7A9D

#DB84A7

#E08EB1

#E598BB

#EAA2C5

#EAB1D4

#EFACCF

#F4BBDE

#F4B6D9

#D7567F

#DC6089

#E16A93

#E6749D

#EB7EA7

#F088B1

#F592BB

#FA9CC5

#FFA6CF

#FFB0D9

#C71585

#C71F8F

#C73399

#C73DA3

#CC47AD

#D151B7

#D65BC1

#E065CB

#EA6FD5

#F479DF

 

 

 

 

 

 

 

 

 

 

#CD1039

#CD1F48

#CD2E57

#CD3861

#CD426B

#D24C75

#D7567F

#DC6089

#E16A93

#E6749D

#B9062F

#B91A4D

#BE2457

#C32E61

#C8386B

#CD4275

#D24C7F

#D75689

#DC6093

#E16A9D

 

#FAEB78

#FAF082

#FAF58C

#FAFA96

#FAFAA0

#FAFAAA

#FAFAB4

#FAFABE

#FAFAD2

#FAFAD2

#FFDC3C

#FFE146

#FFE650

#FFEB5A

#FFF064

#FFF56E

#FFFA78

#FFFA82

#FFFF8C

#FFFF96

#FFC81E

#FFD228

#FFD732

#FFDC3C

#FFE146

#FFE650

#FFEB5A

#FFF064

#FFF56E

#FFF978

#FFB400

#FFBE0A

#FFC314

#FFC81E

#FFCD28

#FFD232

#FFD73C

#FFDC46

#FFE150

#FFE65A

 

 

 

 

 

 

 

 

 

 

#FDCD8C

#FDD296

#FDD7A0

#FDDCAA

#FDE1B4

#FDE6BE

#FDEBC8

#FDF5D2

#FDF5DC

#FDF5E6

#FAC87D

#FACD87

#FAD291

#FAD79B

#FADCA5

#FAE1AF

#FAE6B9

#FAEBC3

#FAEBCD

#FAEBD7

#FFA500

#FFAF0A

#FFB914

#FFC31E

#FFCD28

#FFD732

#FFDC37

#FFE13C

#FFE641

#FFEB46

#FF9100

#FF9B00

#FFA500

#FFAF00

#FFB900

#FFC300

#FFC800

#FFCD00

#FFD200

#FFD700

#FF8200

#FF8C0A

#FF9614

#FFA01E

#FFAA28

#FFB432

#FFB937

#FFBE3C

#FFC341

#FFC846

 

 

 

 

 

 

 

 

 

 

#FFA98F

#FFB399

#FFBDA3

#FFC7AD

#FFD1B7

#FFDBC1

#FFE0C6

#FFE5CB

#FFEAD0

#FFEFD5

#FFA374

#FFAD7E

#FFB788

#FFC192

#FFCB9C

#FFD0A1

#FFD5A6

#FFDAAB

#FFDFB0

#FFE4B5

#FF9473

#FF9E7D

#FFA887

#FFB291

#FFBC9B

#FFC6A5

#FFD0AF

#FFD0AF

#FFD5B4

#FFDAB9

#FF7F50

#FF895A

#FF9364

#FF9D6E

#FFA778

#FFB182

#FFBB8C

#FFC091

#FFC596

#FFCA9B

 

 

 

 

 

 

 

 

 

 

#CD853F

#CD8F49

#D29953

#D7A35D

#DCAD67

#E1B771

#E6C17B

#EBC680

#F0CB85

#F5D08A

#D2691E

#D27328

#D27D32

#D7873C

#DC9146

#E19B50

#E6A55A

#EBAA5F

#EBAF64

#F0B469

#AE5E1A

#B86824

#C2722E

#CC7C38

#D68642

#E0904C

#E59551

#EA9A56

#EF9F5B

#F4A460

#8B4513

#8B4F1D

#8B5927

#8B6331

#906D3B

#957745

#9F814F

#A48654

#A98B59

#AE905E

 

#FF9696

#FFA0A0

#FFAAAA

#FFB4B4

#FFBEBE

#FFC8C8

#FFD2D2

#FFDCDC

#FFE6E6

#FFF0F0

#F08080

#F08A8A

#F09494

#F59E9E

#FAA8A8

#FAB2B2

#FAB7B7

#FABCBC

#FAC1C1

#FAC6C6

#F56E6E

#F57878

#F58282

#F58C8C

#F59696

#F5A0A0

#F5AAAA

#FAB4B4

#FABEBE

#FAC8C8

#F06464

#F06E6E

#F07878

#F08282

#F08C8C

#F09696

#F4A0A0

#F4AAAA

#F4B4B4

#FEBEBE

 

 

 

 

 

 

 

 

 

 

#FF0000

#FF3232

#FF4646

#FF5050

#FF5A5A

#FF6464

#FF6E6E

#FF7878

#FF8282

#FF8C8C

#EB0000

#EB3232

#EB4646

#EB5050

#EB5A5A

#EB6464

#F06E6E

#F57878

#FA8282

#FA8C8C

#CD0000

#CD3C3C

#CD4646

#CD5050

#D25A5A

#D76464

#DC6E6E

#E17878

#E68282

#EB8C8C

 

 

 

 

 

 

 

 

 

 

#CD5C5C

#CD6666

#CD7070

#CD7A7A

#D28484

#D78E8E

#DC9898

#E6A2A2

#EBACAC

#F0B6B6

#B90000

#B93232

#B93C3C

#B94646

#B95050

#BE5A5A

#C35F5F

#C86464

#CD6969

#D26E6E

#B22222

#B24040

#B24A4A

#B25454

#B75E5E

#BC6868

#C17272

#CB7776

#CB7C7C

#D08180

#A52A2A

#AA3E3E

#AF4848

#B45252

#BE5C5C

#C36666

#CD7070

#CD7A7A

#D28484

#D78E8E

#800000

#803232

#853C3C

#8F4646

#945050

#9E5A5A

#A36464

#AD6E6E

#B77878

#C18282

 

#CD853F

#CD8B45

#CD904A

#D2954F

#D29A54

#D79F59

#D7A45E

#E1A963

#E1AE68

#E6B36D

#DB631F

#E56D29

#E57733

#EA813D

#EF8B47

#EF904C

#F49551

#F49A56

#F49F5B

#F4A460

#D2691E

#D27328

#D77D32

#D7873C

#DC9146

#E19B50

#E6A055

#EBA55A

#F0AA5F

#F5AF64

#A0522D

#A05C37

#A06641

#A5704B

#AA7A55

#B4845F

#B98E69

#C39873

#CDA27D

#D7AC87

#8B4513

#8B4F1D

#8B5927

#8B6331

#906D3B

#9A7745

#A4814F

#AE8B59

#B89563

#C29F6D

 

 

 

 

 

 

 

 

 

 

#DA70D6

#DF75DB

#E47AE0

#E97FE5

#EE84EA

#F389EF

#F88EF4

#FD93F9

#FF98FE

#FF9DFF

#BA55D3

#BF5AD8

#C45FDD

#C964E2

#CE69E7

#D36EEC

#D873F1

#DD78F6

#E27DFB

#E782FF

#9932CC

#9E37D1

#A33CD6

#A841DB

#AD46E0

#B24BE5

#B750EA

#BC55EF

#C15AF4

#C65FF9

#9400D3

#9905D8

#9E0ADD

#A30FE2

#A814E7

#AD19EC

#B21EF1

#B723F6

#BC28FB

#C12DFF

 

 

 

 

 

 

 

 

 

 

#942894

#9E329E

#A83CA8

#B246B2

#BC50BC

#C65AC6

#D064D0

#DA6EDA

#E478E4

#EE82EE

#8c008c

#960a96

#a014a0

#aa1eaa

#b428b4

#be32be

#c83cc8

#d246d2

#dc50dc

#e65ae6

#800080

#8a0a8a

#941494

#9e1e9e

#a828a8

#b232b2

#bc3cbc

#c646c6

#d050d0

#da5ada

#834683

#8d508d

#975a97

#a164a1

#ab6eab

#b578b5

#bf82bf

#c98cc9

#d396d3

#dda0dd

 

 

 

 

 

 

 

 

 

 

#828282

#8c8c8c

#969696

#a0a0a0

#aaaaaa

#b4b4b4

#bebebe

#c8c8c8

#d2d2d2

#dcdcdc

#000000

#282828

#323232

#3c3c3c

#464646

#505050

#5a5a5a

#646464

#6e6e6e

#787878

 

 

컬러 이름

16진수

 

             

 red

#FF0000

 

 

crimson

#DC143C

 

 

firebrick

#B22222

 

 

maroon

#800000

 

 

darkred

#8B0000

 

 

brown

#A52A2A

 

 

sienna

#A0522D

 

 

saddlebrown

#8B4513

 

 

indianred

#CD5C5C

 

 

rosybrown

#BC8F8F

 

 

lightcoral

#F08080

 

 

salmon

#FA8072

 

 

darksalmon

#E9967A

 

 

coral

#FF7F50

 

 

tomato

#FF6347

 

 

sandybrown

#F4A460

 

 

lightsalmon

#FFA07A

 

 

peru

#CD853F

 

 

chocolate

#D2691E

 

 

orangered

#FF4500

 

 

orange

#FFA500

 

 

darkorange

#FF8C00

 

 

tan

#D2B48C

 

 

peachpuff

#FFDAB9

 

 

bisque

#FFE4C4

 

 

moccasin

#FFE4B5

 

 

navajowhite

#FFDEAD

 

 

wheat

#F5DEB3

 

 

burlywood

#DEB887

 

 

darkgoldenrod

#B8860B

 

 

goldenrod

#DAA520

 

 

gold

#FFD700

 

 

yellow

#FFFF00

 

 

lightgoldenrodyellow

#FAFAD2

 

 

palegoldenrod

#EEE8AA

 

 

khaki

#F0E68C

 

 

darkkhaki

#BDB76B

 

 

lawngreen

#7CFC00

 

 

greenyellow

#ADFF2F

 

 

chartreuse

#7FFF00

 

 

lime

#00FF00

 

 

limegreen

#32CD32

 

 

yellowgreen

#9ACD32

 

 

olive

#808000

 

 

olivedrab

#6B8E23

 

 

darkolivegreen

#556B2F

 

 

forestgreen

#228B22

 

 

darkgreen

#006400

 

 

green

#008000

 

 

seagreen

#2E8B57

 

 

mediumseagreen

#3CB371

 

 

darkseagreen

#8FBC8F

 

 

lightgreen

#90EE90

 

 

palegreen

#98FB98

 

 

springgreen

#00FF7F

 

 

mediumspringgreen

#00FA9A

 

 

teal

#008080

 

 

darkcyan

#008B8B

 

 

lightseagreen

#20B2AA

 

 

mediumaquamarine

#66CDAA

 

 

cadetblue

#5F9EA0

 

 

steelblue

#4682B4

 

 

aquamarine

#7FFFD4

 

 

powderblue

#B0E0E6

 

 

paleturquoise

#AFEEEE

 

 

lightblue

#ADD8E6

 

 

lightsteelblue

#B0C4DE

 

 

skyblue

#87CEEB

 

 

lightskyblue

#87CEFA

 

 

mediumturquoise

#48D1CC

 

 

turquoise

#40E0D0

 

 

darkturquoise

#00CED1

 

 

aqua

#00FFFF

 

 

cyan

#00FFFF

 

 

deepskyblue

#00BFFF

 

 

dodgerblue

#1E90FF

 

 

cornflowerblue

#6495ED

 

 

royalblue

#4169E1

 

 

blue

#0000FF

 

 

mediumblue

#0000CD

 

 

navy

#000080

 

 

darkblue

#00008B

 

 

midnightblue

#191970

 

 

darkslateblue

#483D8B

 

 

slateblue

#6A5ACD

 

 

mediumslateblue

#7B68EE

 

 

mediumpurple

#9370DB

 

 

darkorchid

#9932CC

 

 

darkviolet

#9400D3

 

 

blueviolet

#8A2BE2

 

 

mediumorchid

#BA55D3

 

 

plum

#DDA0DD

 

 

lavender

#E6E6FA

 

 

thistle

#D8BFD8

 

 

orchid

#DA70D6

 

 

violet

#EE82EE

 

 

indigo

#4B0082

 

 

darkmagenta

#8B008B

 

 

purple

#800080

 

 

mediumvioletred

#C71585

 

 

deeppink

#FF1493

 

 

fuchsia

#FF00FF

 

 

magenta

#FF00FF

 

 

hotpink

#FF69B4

 

 

palevioletred

#DB7093

 

 

lightpink

#FFB6C1

 

 

pink

#FFC0CB

 

 

mistyrose

#FFE4E1

 

 

blanchedalmond

#FFEBCD

 

 

lightyellow

#FFFFE0

 

 

cornsilk

#FFF8DC

 

 

antiquewhite

#FAEBD7

 

 

papayawhip

#FFEFD5

 

 

lemonchiffon

#FFFACD

 

 

beige

#F5F5DC

 

 

linen

#FAF0E6

 

 

oldlace

#FDF5E6

 

 

lightcyan

#E0FFFF

 

 

aliceblue

#F0F8FF

 

 

whitesmoke

#F5F5F5

 

 

lavenderblush

#FFF0F5

 

 

floralwhite

#FFFAF0

 

 

mintcream

#F5FFFA

 

 

ghostwhite

#F8F8FF

 

 

honeydew

#F0FFF0

 

 

seashell

#FFF5EE

 

 

ivory

#FFFFF0

 

 

azure

#F0FFFF

 

 

snow

#FFFAFA

 

 

white

#FFFFFF

 

 

gainsboro

#DCDCDC

 

 

lightgrey

#D3D3D3

 

 

silver

#C0C0C0

 

 

darkgray

#A9A9A9

 

 

lightslategray

#778899

 

 

slategray

#708090

 

 

gray

#808080

 

 

dimgray

#696969

 

 

darkslategray

#2F4F4F

 

 

black

#000000

 

 

 

숲속의방  http://7times.tistory.com

 

 

 

출처 : http://cafe.naver.com/flexcomponent/12264

아시는 분들도 계시겠으나...
DataService 를 사용하지 않고 XML 응답만으로 Flex 를 개발할때
java 서버측 구현에 쉽게 적용 가능한 Caster 라는 XML 변환 프레임웍을 소개해 드립니다.

아래의 링크에서 Caster 를 다운로드 받습니다. 샘플도 많습니다. 다운받으세요~
http://www.castor.org/download.html

아래의 링크는 맵핑에 관련된 설명입니다.
http://www.castor.org/xml-mapping.html


간단히 소개해 드리자면
------------------------------------------------
Java결과객체 → Caster프레임웍 → 변환된 XML
                                ↑
                       XML맵핑룰.xml
------------------------------------------------
와 같이 동작하는 매우 일반적 형태의 프레임웍입니다.

 

바로 사용할 수도 있으나 사용의 편이성을 위해 아래와 같은 클래스를 맹길었습니다.

 

public class CasterMapper {

    /** XML 맵핑 객체 */
    Mapping mapping;

    // .. 스트림이나 파일을 받는 생성자 등등등...

    /**
     * XML 파일을 객체로 변환한다
     * @param xmlIn
     * @return
     * @throws MappingException
     * @throws ValidationException
     * @throws MarshalException
     */
    public Object xmlToObject(Reader xmlReader)
            throws MappingException, MarshalException, ValidationException {
        Unmarshaller unmarshaller = new Unmarshaller(this.mapping);
        return unmarshaller.unmarshal(new InputSource(xmlReader));
    }

 

    /**
     * 객체를 XML 로 변환한다.
     * @param obj
     * @param xmlOut
     * @throws IOException
     * @throws MappingException
     * @throws ValidationException
     * @throws MarshalException
     */
    public void objectToXml(Object obj, Writer xmlWriter)
            throws IOException, MappingException, MarshalException, ValidationException {
        Marshaller marshaller = new Marshaller(xmlWriter);
        marshaller.setMapping(this.mapping);
        marshaller.marshal(obj);
    }
}

 

그리고 Flex의 요청에 대한 응답을 처리하는 Servlet 내에서 아래처럼 결과객체를 변환하여
응답을 보냅니다.

 

    // #. 결과객체 (변환하고자 하는 객체)
    Object resultObject = new Object(); // 개인마다 DB의 결과를 담은 다른 클래스형의 객체가 들어갈겁니다...

    // #. 맵핑룰 XML 얻기
    InputStream xmlInputStream = getClass().getResourceAsStream("test_ed_mapping.xml");
    CasterMapper mapper = new CasterMapper(xmlInputStream);

    // #. print response
    mapper.objectToXml(resultObject, response.getWriter());

 

 

아래는 test_ed_mapping.xml 의 예로서 전체 XML응답전문을 Header 와 Body 로 구분하고
사용자 목록을 출력하도록 지정했습니다.

맵핑전문은 아래와 같은 특징이 있으니 잘 살펴보시기 바랍니다.
- Element(태그)는 클래스와 맵핑된다.
- 값은 Attribute 나 Element 로 표현될 수 있다.
- 위쪽에서 사용된 클래스에 대한 정의로 바로 아래에서 표현한다.

 

test 로 시작되는 패키지 내의 Class 는 개인적으로 만드셔야 합니다.
전문을 눈여겨 보면 어렵지 않게 클래스를 만들수 있으시라라 생각됩니다.
참고로 PagingList 란 넘은 java.util.ArrayList 형의 list 어트리뷰트를 가지고 있습니다.

 

<?xml version="1.0"?>
<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN" "http://castor.org/mapping.dtd">

<mapping>

    <class name="test.common.xml.ed.XmlResponse">
        <map-to xml="response"/>
        <field name="header" type="test.common.xml.ed.XmlHeader">
            <bind-xml name="header" node="element"/>
        </field>
        <field name="body" type="test.common.xml.ed.XmlBody">
            <bind-xml name="body" node="element"/>
        </field>
    </class>

    <!-- HEADER -->
    <class name="test.common.xml.ed.XmlHeader">
        <map-to xml="header"/>
        <field name="id" type="java.lang.String">
            <bind-xml name="id" node="attribute"/>
        </field>
        <field name="group" type="java.lang.String">
            <bind-xml name="group" node="attribute"/>
        </field>
        <field name="code" type="java.lang.String">
            <bind-xml name="code" node="attribute"/>
        </field>
        <field name="message" type="java.lang.String">
            <bind-xml name="message" node="attribute"/>
        </field>
    </class>

    <!-- BODY -->
    <class name="test.common.xml.ed.XmlBody">
        <map-to xml="body"/>
        <field name="obj" type="test.common.xml.ed.PagingList">
            <bind-xml name="users" node="element"/>
        </field>
    </class>

    <!-- Users -->
    <class name="test.common.xml.ed.PagingList">
        <map-to xml="users"/>
        <field name="list" type="test.beans.User" collection="arraylist">
            <bind-xml name="user" node="element"/>
        </field>
    </class>

    <!-- USER -->
    <class name="test.beans.User">
        <map-to xml="user"/>

        <field name="id" type="java.lang.String">
            <bind-xml name="id" node="attribute"/>
        </field>

        <field name="name" type="java.lang.String">
            <bind-xml name="name" node="attribute"/>
        </field>

        <field name="email" type="java.lang.String">
            <bind-xml name="email" node="attribute"/>
        </field>
    </class>
</mapping>

 

 

이리하여 결과는 아래와 같습니다.

DB의 사용자 테이블에 질의한 쿼리의 결과가 User 객체의 List 로 반환이 되었다고 가정하고

이것에 대한 서블릿의 결과는 다음과 같습니다.

 

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <header>
        <id>test.ViewMembers</id>
        <group>admin</group>
        <code>0000</code>
        <message>SUCCESS</message>
    </header>
    <body>
        <users>
            <user id="honggildong1" name="길동이" email="honggildongika@gildong.com"/>
            <user id="honggildong2" name="길동이" email="honggildongika@gildong.com"/>
            <user id="honggildong3" name="길동이" email="honggildongika@gildong.com"/>
            <user id="honggildong4" name="길동이" email="honggildongika@gildong.com"/>
            <user id="honggildong5" name="길동이" email="honggildongika@gildong.com"/>
            <user id="honggildong6" name="길동이" email="honggildongika@gildong.com"/>
            <user id="honggildong7" name="길동이" email="honggildongika@gildong.com"/>
            <user id="honggildong8" name="길동이" email="honggildongika@gildong.com"/>
            <user id="honggildong9" name="길동이" email="honggildongika@gildong.com"/>
            <user id="honggildong10" name="길동이" email="honggildongika@gildong.com"/>
        </users>
    </body>
</response>

 

편리하겠죠?

기존 JSP 로 작성된 시스템에서 Flex Client로 전환시 Layer 가 잘 나눠져 있다면
아주 쉽게 커스터마이징 가능하리라 생각됩니다.


간단한 내용이나 걍 참고하시라고 적어봤습니다.

 

[참고링크]
이곳에 뉴스그룹이 있으니 기타 트러블슈트 참고하시고요~
http://www.mail-archive.com/castor-dev@exolab.org/


'개발 > FLEX & AIR' 카테고리의 다른 글

FLEX - Style Exploer  (0) 2010.01.19
Flex 흐르는 텍스트 효과  (0) 2010.01.12
Flex 컴포넌트의 비율 유지  (0) 2009.12.21
Flex와 Java간 소켓 통신  (1) 2009.12.21
XML과 E4X 다루기  (0) 2009.12.20


1 Seconds (0--59)
2 Minutes (0--59)
3 Hours (0--23)
4 Day of month (1--31)
5 Month (1--12 or JAN--DEC)
6 Day of week (1--7 or SUN--SAT)
7 Year (1970--2099)

*는 all, ?는 설정않함.
examples..

0 0 10 * * ?
매일 오전 10시에 실행

0 0 10 1 * ?
매월 1일 오전 10시에 실행

0 0 10 ? ? 1 ?
매주 일요일 오전 10시에 실행

0/5 * * * * ?
5초마다 실행



----------------------------------
http://blog.naver.com/wogud71/20054783968

필드 허용범위 허용문자
초 0-59 , - * /
분 0-59 , - * /
시 0-23 , - * /
일 1-31 , - * ? / L W
월 1-12 or JAN-DEC , - * /
요일 1-7 or SUN-SAT , - * ? / L #
년(옵션) 1970-2099 , - * /

* 모든 값
? 특정 값 없음
- 범위 지정에 사용
, 여러 값 지정 구분에 사용
/ 초기값과 증가치 설정에 사용
L 지정할 수 있는 범위의 마지막 값
W 월~금요일 또는 가장 가까운 월/금요일
# 몇 번째 무슨 요일 2#1 => 첫 번째 월요일

예제)
Expression Meaning
초분시일월주(년)
"0 0 12 * * ?" 아무 요일, 매월, 매일 12:00:00
"0 15 10 ? * *" 모든 요일, 매월, 아무 날이나 10:15:00
"0 15 10 * * ?" 아무 요일, 매월, 매일 10:15:00
"0 15 10 * * ? *" 모든 연도, 아무 요일, 매월, 매일 10:15
"0 15 10 * * ? 2005" 2005년 아무 요일이나 매월, 매일 10:15
"0 * 14 * * ?" 아무 요일, 매월, 매일, 14시 매분 0초
"0 0/5 14 * * ?" 아무 요일, 매월, 매일, 14시 매 5분마다 0초
"0 0/5 14,18 * * ?" 아무 요일, 매월, 매일, 14시, 18시 매 5분마다 0초
"0 0-5 14 * * ?" 아무 요일, 매월, 매일, 14:00 부터 매 14:05까지 매 분 0초
"0 10,44 14 ? 3 WED" 3월의 매 주 수요일, 아무 날짜나 14:10:00, 14:44:00
"0 15 10 ? * MON-FRI" 월~금, 매월, 아무 날이나 10:15:00
"0 15 10 15 * ?" 아무 요일, 매월 15일 10:15:00
"0 15 10 L * ?" 아무 요일, 매월 마지막 날 10:15:00
"0 15 10 ? * 6L" 매월 마지막 금요일 아무 날이나 10:15:00
"0 15 10 ? * 6L 2002-2005"
2002년부터 2005년까지 매월 마지막 금요일 아무 날이나 10:15:00
"0 15 10 ? * 6#3" 매월 3번째 금요일 아무 날이나 10:15:00


"?"와 "*"의 차이를 구분하기가 어렵습니다. 그냥 "?"는 한 개만 사용하는 것으로 생각하시면 됩니다.


<?xml version="1.0" encoding="utf-8"?>
<mx:Application verticalAlign="middle" horizontalAlign="center"
   paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0"
   xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
   <mx:Script>
         <![CDATA[
            private const ratio:Number = .75;
            override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
                   super.updateDisplayList(unscaledWidth,unscaledHeight);
                   btn.width = unscaledWidth;
                   btn.height = unscaledHeight;
                   var tmpRatio:Number = btn.height / btn.width;
                   if(tmpRatio>ratio){
                         btn.height = btn.width * ratio;
                   }else{
                         btn.width = btn.height / ratio;                                                       
                   }                         
            }
         ]]>
   </mx:Script>
   <mx:Button id="btn" width="50%" height="50%"/>
</mx:Application>

'개발 > FLEX & AIR' 카테고리의 다른 글

Flex 흐르는 텍스트 효과  (0) 2010.01.12
[Caster] XML만을 사용시 서버측 XML 객체 상호변환  (0) 2009.12.24
Flex와 Java간 소켓 통신  (1) 2009.12.21
XML과 E4X 다루기  (0) 2009.12.20
[Flex] PieChart  (0) 2009.11.24


Java와 Flex 간의 소켓을 이용한 통신 샘플


보안관련 인증 파일 첨부

'개발 > FLEX & AIR' 카테고리의 다른 글

[Caster] XML만을 사용시 서버측 XML 객체 상호변환  (0) 2009.12.24
Flex 컴포넌트의 비율 유지  (0) 2009.12.21
XML과 E4X 다루기  (0) 2009.12.20
[Flex] PieChart  (0) 2009.11.24
[Flex] LineChart  (0) 2009.11.24




	Ulysses
	Ulysses
	Joyce, James
	Myung jin, Hwang
	Penguin Books Ltd
	A very thick book





자식 노드 접근하기
    //<BOOK>의 자식 노드들을 나타내는 XMLList를 반환
    novel.children();
    novel.*
    
    //첫번째 자식노드에 접근하기
    novel.*[0];
    novel.children()[0];
    
    //마지막 자식노드에 접근하기
    novel.children()[novel.children().length() - 1];
    
    //이름이  SUBJECT인 root의 모든 자식 엘리번트 반환
    novel.child("SUBJECT");
    novel.SUBJECT ;
    
    //이름이  SUBJECT인 ROOT의 모든 자식 엘리먼트의  첫번째  SUBJECT 요소
    novel.child("SUBJECT")[0];
    novel.SUBJECT[0];
    
    //이름이  AUTHOR의 첫번째 엘리먼트의 이름을 WRITER로 변경한다.
    novel.AUTHOR[0].setName("WRITER");


텍스트 노드에 접근하기  
   //Ulysses1 텍스트 노드에 대한 참조
    novel.SUBJECT.children()[0];
    novel.SUBJECT.*[0]
    
    //<SUBJECT> 엘리먼트의 대한 참조
    novel.SUBJECT.*[0].parent();
   
    //문자열 "text" 반환
    novel.SUBJECT.*[0].nodeKind();
    
   //문자열  "Ulysses" 반환
    novel.SUBJECT.*[0].toString();
    novel.SUBJECT.*[0] //암시적으로 toString()로 변환해준다.
    novel.SUBJECT //Subject가 하나일 경우 텍스트 노드를 문자열로 반환한다.

  //텍스트 엘리먼트 가져오기
  novel.DESCRIPTION.text() --> A, thick book
  novel.DESCRIPTION.text()[0] --> A
  novel.DESCRIPTION.text()[1] --> thick book

부모 노드 접근하기 
var doc:XML =
    <grandparent>
     <parent>
      <child></child>
     </parent>
    </grandparent>;
    
    var kid:XML = doc.parent.child[0];
    var parent:XML = kid.parent();
    var grandparent:XML = kid.parent().parent();
    
    trace(parent);
    trace(grandparent);


형제 노드 접근하기
  var author:XML = novel.AUTHOR[0];
    //이전 형제 노드
    trace(author.parent().*[author.childIndex()-1]);
    //다음 형제 노드
    trace(author.parent().*[author.childIndex()+1]);
    
어트리뷰트 접근하기

주석과 처리 지시문 접근하기






'개발 > FLEX & AIR' 카테고리의 다른 글

Flex 컴포넌트의 비율 유지  (0) 2009.12.21
Flex와 Java간 소켓 통신  (1) 2009.12.21
[Flex] PieChart  (0) 2009.11.24
[Flex] LineChart  (0) 2009.11.24
[Chart] ColumnChart, BarChart  (0) 2009.11.24


아이폰에서 또 하나의 유용한 어플이 있네요.
VNC라는 프로그램인데요.
원격으로 프로그램을 실행을 하게 해줍니다.

회사나, 집에 있는 컴퓨터에 접속해서 간단한 업무 처리는 할 수 있겠네요.
화면상 큰 작업은 아니고  정말 간단한 확인이나 마우스 클릭만으로 할수 있는 정도는 무리없이 할수 있을듯 보입니다.  

프로그램은 앱스토어에서 vnc 라고 검색하면 Mocha VNC Lite 라는 프로그램이 나옵니다.
이걸 설치하면 됩니다. 

일단 설치 하시고 원격을 접속하기 전에 원격지 PC에 VNC Server를 먼저 설치하셔야 합니다.
그냥 접속은 되지 않네요..
 
VNC Server는 아래 주소에서 다운 받으시면 됩니다.
http://www.uvnc.com/download/index.html

최신 버전의 Full 버전을 다운 받으시고 서버 셋팅에 다른 부분은 그대로 두시고 password 만 설정하시면 됩니다.

그리고 이제 아이폰으로 접속을 시도해보시면 됩니다.
IP와 Server에 등록했던 Password를 입력하시고 Name는 그냥 별칭이라고 생각하시면 됩니다.

접속하니 꽤 괜찮네요.
정말 유용하게 사용할듯 합니다.



'일상 > 낙서장' 카테고리의 다른 글

ThinkPad T6/R6 Series 6 Cell ( 40Y6799 )  (0) 2010.04.21
2ndrive  (0) 2010.03.05
기상용어  (0) 2009.12.07
월드컵 조추첨  (0) 2009.12.05
화나는 아이폰 미개통 상황  (0) 2009.12.03