ICE (Internet Communications Engine) 편집

ZeroC ICE http://zeroc.com/ice.html


JBoss 와 Drools 편집

이게 다 뭥미...

JBoss 관리자 개발 가이드 http://openframework.or.kr/framework_reference/jbossAdmin/

JBoss Drools http://www.jboss.org/drools.html

JBoss Drools documentation http://www.jboss.org/drools/documentation.html

설치 http://www.installationwiki.org/Set_Up_for_JBoss_Drools 또는 http://sthink.tistory.com/82

http://soogwang.textcube.com/4

http://downloads.jboss.com/drools/docs/5.1.1.34858.FINAL/drools-expert/html_single/index.html

Intro video (50 min... useful?) http://video.fosdem.org/2010/devrooms/jboss/drools.ogg

http://www.jugsardegna.org/vqwiki/jsp/Wiki?action=action_view_attachment&attachment=20081606220148869-0-Drools.pdf

Drools API http://downloads.jboss.com/drools/docs/5.1.1.34858.FINAL/apidocs/index.html

Drools Example 좀 멀쩡한 설명 http://legacy.drools.codehaus.org/Tutorials+and+Examples

새로운 API (Drools 5.0) 관련 블로그 http://swapnil84.wordpress.com/2009/09/01/jboss-drools-5-dynamic-rules-creation/

좀 관련이 있지 않을까... (구 버전임) http://enomix.tistory.com/10


http://javabeans.asia/2009/08/29/drools_5_case_study_1_writing_dsl_for_drl_rule.html

http://fisheye.jboss.org/browse/JBossRules/trunk/drools-camel/src/test/resources/org/drools/camel/component/json.mvt?r=HEAD


Drools Rule Syntax 관련 편집

drools expert documentation http://downloads.jboss.com/drools/docs/5.1.1.34858.FINAL/drools-expert/html_single/index.html#d0e2596 http://wiki.dev.daewoobrenic.co.kr/mediawiki/index.php/JCF3.0%E2%84%A2_Rule_Engine_Guide(ver3.1)

Drools KnowledgeBase와 KnowledgeSession 설명과 생성 순서 편집

0. 여러 example 들에 RuleBase 따위가 import 된 경우가 있는데, 5.0 전 버젼의 API를 사용하는 경우임. 5.0 버전에 맞게 (KnowledgeBase 등) 고쳐서 써야 함

1. KnowledgeBuilder는 drl 파일을 KnowledgeBase가 이해할 수 있는 pkg로 바꿔주는 역할. 여러 drl 파일이 추가 가능하고, 다른 namespace 들에 존재하는 drl 파일들도 한 builder에 추가가 가능 (한 namespace에 있는 drl들이 하나의 pkg로 바꿔짐)

2. base에 pkg를 추가하고 나서 error를 체크해야 함. String으로 에러 메시지를 받아낼 수 있음

3.


  • 새 KnowledgeBuilder 생성
  • KnowledgeBuilder에 ResourceFactory.newClassPathResource 등을 이용하여 drl 파일 add
    • add 후에 .hasErrors()를 이용하여 에러 있는지 체크
  • Collection<KnowledgePackage> 를 knowledgebuilder.getKnowledgePackage()로써 생성
  • 새 KnowledgeBase 생성
    • 생성된 knowledgeBase에 위에서 생성한 pkg를 .addKnowledgePackages를 이용하여 add
  • 새 StatefulKnowledgeSession 생성

ksession.setGlobal("list", new ArrayList<Object>());

ksession.addEventListener(new DebugAgendaEventListener()); ksession.addEventListener(new DebugWorkingMemoryEventListener());

// setup the audit logging KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory .newFileLogger(ksession, "log/helloworld");

MySQL과 JDBC 편집

SET PASSWORD FOR 'user'@'host' = OLD_PASSWORD('current_password'); ....

http://www.javanuri.com/edu/jdbc/index.html

http://eureka7.com.ne.kr/MySQL_4_1_API/windows-server-first-start.html

Java 편집

Java Applet tutorial http://www.roseindia.net/java/example/java/swing/

Eclipse 편집

Eclipse Wiki http://wiki.eclipse.org/Main_Page

Eclipse Shortcut http://www.allapplabs.com/eclipse/eclipse_shortcuts.htm

DB Extravaganza 편집

dbschema -d infomax -t ip6901tb -ss ip6901tb.sql


dbaccess:

unload to ip6901tb.unl select * from ip6901tb

load from ip6901tb.unl insert into ip6901tb



MYSQL:

http://forcecore.tistory.com/567 http://urin79.com/319909

권한 설정!! grant all privileges on *.* to 'infomax'@'190.1.150.101' identified by 'infomax!';

http://k.daum.net/qna/view.html?qid=0B3H8

mysqldump -u root -p auction > auction.sql 혹은 mysqldump -u root -p auction auction_detail > auction_detail.sql

백업시에는 mysql 그냥 사용하고 redirect < auction.sql (mysqlimport는 좀 낚시인듯)


AES 예

-- 사용자 테이블 CREATE TABLE User (

seq INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
userId CHAR(20) NOT NULL,

-- HEX함수를 사용하지 않으려면 필드 타입을 BINARY 로 해주시면 됩니다.

passWd CHAR(40) NOT NULL,
PRIMARY KEY(`seq`),
UNIQUE INDEX (`userId`)

) ENGINE=MyISAM; -- 사용자 정보 입력

mysql> INSERT INTO User (userId, passWd) VALUES ('lovelgw', HEX(AES_ENCRYPT('123456', MD5('123456')))); Query OK, 1 row affected (0.00 sec) mysql> select * from User; +-----+---------+----------------------------------+ | seq | userId | passWd | +-----+---------+----------------------------------+ | 1 | lovelgw | 59B6FF82CD62F195F55DD3A4BB2E1D70 | +-----+---------+----------------------------------+ 1 row in set (0.00 sec) -- 사용자 로그인 (사용자 정보조회)

mysql> SELECT * FROM User WHERE userId = 'lovelgw' AND AES_DECRYPT(UNHEX(passWd), MD5('123456')); +-----+---------+----------------------------------+ | seq | userId | passWd | +-----+---------+----------------------------------+ | 1 | lovelgw | 59B6FF82CD62F195F55DD3A4BB2E1D70 | +-----+---------+----------------------------------+ 1 row in set (0.00 sec)

위와 같이 AES예를 보았습니다. 사용자의 암호가 암호화 방식의 키가 되겠습니다. 평문길이가 약 20Byte정도 일때 암호화 문자열의 길이는 약 32Byte정도 입니다. (암호화 키는 사용자 암호의 MD5이용, AES_ENCRYPT 결과는 HEX함수를 이용했을 경우) 필드 데이터 타입을 바이너리로 정의를 하면 HEX를 사용하지 않아도 됩니다. 하지만 기존 테이블 규칙을 사용한다는 가정하에 위와 같이 적용해보았습니다.

사용자 정보의 암호화를 이용해서 보안에서의 최소안의 피해 및 누출을 막음으로서 더욱 안전하게 관리를 할 수 있습니다.구지 사용자의 암호를 관리적 측면에서 알 필요가 없으니 사용자가 입력한 암호로 사용자의 데이터를 암호화 하는데 사용합니다. 관리적측면에서의 보안적인 편리함이 더욱더 늘어 난것이죠

http://www.lovelgw.com/Blog/224 [1] 에서 발췌



ALTER TABLE `auction`.`amt_limit` CHANGE COLUMN `amt_limit` `amt_limit` INT NULL DEFAULT NULL  ;

ALTER TABLE `auction`.`auction` DROP COLUMN `wef` ;


ALTER TABLE `auction`.`auction_detail` CHANGE COLUMN `total_bid_num` `total_bid_num` INT(11) NULL DEFAULT NULL AFTER `clwb` ;


ALTER TABLE `auction`.`auction_detail` ADD COLUMN `ss` INT NULL DEFAULT NULL AFTER `last_update_date` ;

읽을거리 편집

SOA http://en.wikipedia.org/wiki/Service-oriented_architecture

AOP http://en.wikipedia.org/wiki/Aspect-oriented_programming

AOP in Java http://www.voelter.de/data/articles/aop/aop.html