cdk 코리아 : http://forum.standardmag.org/

 

신현석님 홈피 : http://hyeonseok.com/

 

html  validator : http://validator.w3.org/

 

css validator : http://jigsaw.w3.org/css-validator/

 

카도와 : http://www.iabf.or.kr/

 

나라 디자인 : http://naradesign.net/

 

Posted by 삽지리
,

A docBase 경로명 inside the host appBase has been specified, and will be ignored

 

이유인즉

appBase와 docBase 가 같아서 나오는 오류

뭐 정보긴한데..

이것땜에 문제가 있었다.

Posted by 삽지리
,

참조 : http://www.quirksmode.org/dom/inputfile.html

 

동작원리는 투명도를 이용하여 file박스를 화면에서 투명하게는 하되 z-index를 사용하여 상위에 위치시켜 해당하는 곳을 클릭하면 input 박스가 클릭되도록 하는것

 

css 자체가 웹표준에 맞지 않고 예외처리가 심하다.

별로 좋지 않은 방식.

 

참고로 file박스는 직접클릭해서 파일선택창을 띄워야지만 제대로 값이 전달된다

click()이벤트를 이용하여 다른곳에서 이벤트를 호출해서 파일선택창을 띄워도

form의 submit에서 에러가 난다.

Posted by 삽지리
,

commons.pool 글을 읽어보다가

 

http://cafe.naver.com/itinsuccess.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=43

 

에서

 

//스테틱 영역에서 xml파일에 저장되어 있는 데이터 베이스 정보를 가지고 온다.
 static{
  HashMap dbInfo = UtilStr.getXmlMessage(xmlChildernKey, xmlFilePath);
  driverClassName = String.valueOf(dbInfo.get("driverClassName")).trim();
  url = String.valueOf(dbInfo.get("url")).trim();
  userName = String.valueOf(dbInfo.get("userName")).trim();
  password = String.valueOf(dbInfo.get("password")).trim();
  maxActive = Integer.parseInt(String.valueOf(dbInfo.get("maxActive")).trim());
  maxWait = Long.parseLong(String.valueOf(dbInfo.get("maxWait")).trim());
  maxIdle = Integer.parseInt(String.valueOf(dbInfo.get("maxIdle")).trim());
  defaultReadOnly = Boolean.parseBoolean(String.valueOf(dbInfo.get("defaultReadOnly")).trim());
  defaultAutoCommit = Boolean.parseBoolean(String.valueOf(dbInfo.get("defaultAutoCommit")).trim());
  connectionFlg = false;
 }

 

 

이런식으로 변수를 선언한것 을 보았다.

static{}로 묶은건데  이렇게 할경우 장점은 뭘가?

가독성이 좋은건가?

저게 실제로 각 변수에 static를 붙은 효과만 내는걸가?

public 나 pravite 를 선언하려면 어떻게 해야한는걸까?

 

 

-------------------

 

출처 : http://okjsp.pe.kr/seq/118099

옥희의 답변 중에

driverClassName 값을 받아오는 과정에서
static으로 선언된 dbInfo 에서 값을 받아오고 있기때문에
static 하에서 실행되어야 할 필요가 있습니다.
그래서 그 과정을 한번에 static 으로 묶은게 아닐까요?

-------------------

말이 있다

그래서 테스트해봣다

private static final String driverClassName;

를 선언하고

driverClassName = "하하"; 를 다른 메쏘드에서 실행하려 했지만 안됐다

그러나

static{} 영역에서 선언을 하니 된다.

 

---------------------

 

추가 수정 :

private static final String driverClassName;
  
 static{
  String a = "1";
  driverClassName = a;
 }

 

다음의 코드를 보면

 

static 는 메모리가 클래스가 최초로 불러질때 실행이되고

a는 전역변수가 아니게 된다.

흠 한마디로 초기에만 쓰이는 프로그램이 되는 형태.

생성자랑 비슷하면서도 비슷하지 않은 형태가 되겠다.

 

Posted by 삽지리
,

출처 : http://okjsp.pe.kr/seq/117567

 

문제 ------------

두번째 퀴즈입니다.

TABLE도 간단합니다.

퀴즈2> 아래 테이블을 잘 보고 윤봉길의 부모코드 전체와

자식코드 전체를 볼수있는 SQL 을 만들어 보세요.

TABLE LAYOUT

CODE        NAME       UP_CODE

1         홍길동 

2         박문수  1

3         심청     2

4         임꺽정  2

5         방정환  3

6         김유신  5

7         이태백  4

8         윤봉길  6

9         안창호  8

10       박태환  9

11       이효리  8

12       송승헌  11

13       전태일  8

14       박세리  13

 

 

 

 

내가 한 답 --------------------

 

테이블 생성
------------
CREATE TABLE TEST_SABJILI
(
CODE NUMBER,
NAME VARCHAR2(10 BYTE) ,
UP_CODE NUMBER
)
--------
insert
--------
SET DEFINE OFF;
Insert into TEST_SABJILI
(CODE, NAME)
Values
(1, '홍길동');
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(2, '박문수',1);
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(3, '심청',2);
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(4, '임꺽정',2);
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(5, '방정환',3);
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(6, '김유신',5);
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(7, '이태백',4);
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(8, '윤봉길',6);
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(9, '안창호',8);
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(10, '박태환',9);
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(11, '이효리',8);
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(12, '송승헌',11);
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(13, '전태일',8);
Insert into TEST_SABJILI
(CODE, NAME,UP_CODE)
Values
(14, '박세리',13);

 

COMMIT;
-------------
조회
-------------
SELECT  lpad(' ', (level - 1) * 1, ' ') || NAME,CODE,UP_CODE,LEVEL FROM test_sabjili
WHERE CODE IN (
    SELECT code
        FROM test_sabjili 
        START WITH CODE = (SELECT CODE FROM test_sabjili WHERE NAME = '윤봉길' )
        CONNECT BY PRIOR UP_CODE = CODE
) OR CODE IN(
    SELECT code
        FROM test_sabjili 
        START WITH CODE = (SELECT CODE FROM test_sabjili WHERE NAME = '윤봉길' )
        CONNECT BY PRIOR CODE = UP_CODE
)
START WITH CODE = (
    SELECT CODE FROM (
        SELECT code, name, up_code ,ROWNUM AS RNUM
        FROM test_sabjili 
        START WITH CODE = (SELECT CODE FROM test_sabjili WHERE NAME = '윤봉길' )
        CONNECT BY PRIOR UP_CODE = CODE
        ORDER BY ROWNUM DESC
        ) WHERE ROWNUM = 1
)
CONNECT BY PRIOR CODE = UP_CODE
---------------------
결과
---------------------


홍길동  1  1
 박문수  2 1 2
  심청  3 2 3
   방정환 5 3 4
    김유신 6 5 5
     윤봉길 8 6 6
      안창호 9 8 7
       박태환 10 9 8
      이효리 11 8 7
       송승헌 12 11 8
      전태일 13 8 7
       박세리 14 13 8

 

그냥 결과만 짜맞췄다 흠좀무

Posted by 삽지리
,

□ 브라우저별 체크

     - 브라우저별 검증은 최신버전을 기준으로 한다.

     - ie 6, ie 7 사파리 최신버전, 모질라 파이어폭스 최신버전, 오페라 최신버전

- ie 6를 사용한다면 http://tredosoft.com/IE7_standalone에서 Internet Explorer 7 standalone 를 받아 ie7를 테스트할 수 있다.

- ie 7을 사용한다면 http://tredosoft.com/Multiple_IE 에서 Download Multiple IE installer 을 다운받아 설치하면  IE3,IE4.01,IE5,IE5.5,IE6를 테스트할 수 있다.


 □ (X)HTML 체크

      - (x)html Validate - http://validator.w3.org/

 □ CSS 체크

    - http://jigsaw.w3.org/css-validator/

 □ 접근성 체크

     - Kado-Wah를 사용하여 웹접근성 체크를 함

- Kado-Wah는 도구일 뿐 Kado-Wah를 사용하여 웹접근성을 완벽하게 확보했다고 볼 수 없음.

- http://www.iabf.or.kr(웹 접근성 연구소)에서 Kado-Wah 최신버전을 다운받을 수 있음

 □ 페이지의 구조화

     - 파이어폭스 > 보기 > 페이지 스타일 > ‘스타일 없음’으로 한후 구조화 체크

 □ javascript 체크

      - 파이어폭스 > 도구 > 부가기능 > 유용한 확장기능 찾기                           > firebug 로 검색 후 설치 > 도구 > firebug > open firebug >                   console 창에 javascript 에러가 뜨는지 여부 확인

Posted by 삽지리
,

원인 : http://www.fivesevensix.com/studies/ie6flicker/

 

해결방법 : http://naradesign.net/wp/2008/04/29/140/


내용 :

Flicker Bug 개요

IE6 이하 버전을 사용하는 사용자가 ‘저장된 페이지의 새 버전 확인’ 옵션을 ‘페이지를 열때마다’로 두었을 때 IE는 이미 로드된 숨은 이미지를 화면에 다시 출력해야 하는 경우 이것을 캐시로부터 찾지 않고 출력하는 순간마다 다시 서버측에 요청하는 버그가 있습니다. 이것은 익히 잘 알려진 Flicker 버그 입니다. 한 가지 예로서 :hover 라는 가상선택자를 사용하여 배경이미지를 교체시키는 기법을 사용할 때 IE는 교체될 이미지를 캐시에서 불러오지 않고 실시간으로 서버측에서 다시 불러오기 때문에 사용자가 깜빡거림을 느끼게 됩니다. 이것은 깜빡거림만 문제가 되는것이 아니라 불필요한 http 요청이 반복적으로 일어난다는 사실로 하여금 IE브라우징시 웹페이지의 성능을 떨어뜨리는 요인이 됩니다.

Flicker Bug 해결방법

여기 IE Flicker Bug를 MS에서 제공하는 execCommand문으로 해결하는 잘 알려진 방법이 있습니다.

Javascript 문법으로는 아래와 같이 표현합니다.

try {document.execCommand('BackgroundImageCache', false, true);} catch(e) {}

CSS 문법으로는 아래와 같이 표현합니다.

html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}

CSS 또는 Javascript 문법 가운데 택일하여 적용하시면 Flicker Bug를 해결할 수 있지만 실제 적용하는 경우 Javascript코드를 활용하는 방법이 권장됩니다.

CSS 문법이 지닌 문제는 BackgroundImageCache Identifier(배경이미지 캐시 식별자)가 없는 브라우져에 대한 예외처리가 없다는 점, 그리고 한번만 수행하면 되는 코드가 지속적으로 수행된다는 점 입니다.
참조 : http://neonatas.tistory.com/39

이 문법은 W3C 표준과 무관하게 MS에서 제공된 것이며 IE 브라우저에서만 인식하기 때문에 다른 브라우저들은 무시합니다.  또한 Windows XP SP1 이후의 운영체제, 또는 IE 브라우저의 6.00.2800.1106 이후 버전에 적용됩니다. 이 문법들이 안정적인지에 대하여는 보증할 수 없습니다. 현재와 같은 방식으로 execCommand문을 사용할 때 어떤 문제가 발생할 수 있다고 판단되시면 코멘트 부탁드립니다.

참조문서

Posted by 삽지리
,

어떤 상자를 만들떄

위하고 아래에

<div class="box_top">

</div>

이런식으로 빈태그를 넣어서

box_top라는 class에 백그라운드로 이미지를 넣고

쓰는경우가 있는데

이경우 height가 과도하게 적어져버리면.

이상해지는 경우가 있다

이경우 대체로 font-size나 line-height문제라고 생각된다.

이경우 overflow:hidden;을 줌으로써 해결이 되는것 같다.

Posted by 삽지리
,

crtl+shift+ R :파일을 파일명으로 찾는다..

ctrl + shift + M: 대상에 필요한 특정클래스 import
ctrl + shift + O : 소스에 필요한 패키지의 자동 임포트

ctrl + i : 선택된 부분에 대해서 소스 정렬

alt + shift + j : 주석자동 생성

ctrl + t : 선택된 클래스가 interface로 사용되거나 extends로 사용된 클래스를 보여준다.

Ctrl + Shift + G : 특정 메써드나 필드를 Reference하고 있는 곳을 찾는다.

Posted by 삽지리
,

그냥 한번 더 테스트 해봤다.

정확하게 어떻게 동작하는지 보려고..


<html>
<title>event관련 테스트</title>
<head>
<script type="text/javascript">
 function addEvent(object, event ,listener)
 {
  alert(listener);
     if (object.addEventListener){
  object.addEventListener(event, listener, false);
     } else if (object.attachEvent){

  object.attachEvent('on' + event, listener);
     }
 }

 var a = "aaa()";
 var b = "bbb()";
 var windowOnload = new Array();
 function aaa(){
  alert("야");
  document.getElementById("test").innerHTML="야";
 }
 function bbb(){
  alert("호");
  document.getElementById("test").innerHTML="호";
 }

 function ccc(talk){
  alert(talk);
  document.getElementById("test").innerHTML=talk;
 }

 var d = "바";

 

 addEvent(window,'load',aaa);
 addEvent(window,'load',bbb());
 addEvent(window,'load',function(){ccc('가');});

</script>
</head>
<body>
<div id="test">테스트임둥</div>
</body>
</html>

Posted by 삽지리
,