클로저(Closure) 의 특성과 응용 그리고 실수
·
Study/JavaScript
클로저 특성으로, 내부함수에서 외부함수의 지역변수에 접근 할 수 있는데, 외부함수의 실행이 끝나서 외부함수가 소멸된 이후에도 내부함수가 외부함수의 변수에 접근 할 수 있다. -> 함수 안의 내부함수나 그 로컬 변수들은 그 외부함수의 밖에서 접근을 못한다. 잘못 작성된 코드 var arr = [] for(var i = 0; i 클로저의 특성인 내부함수에서 외부함수의 지역변수에 접근을 하는것인데 arr[i] 로 정의된 함수에서 사용하는 i는 외부함수의 지역변수가 아..
display: inline-block 여백이 생기는 현상
·
Study/Markup
1. 문제 발생 (예제) 1000px 로 설정한 div를 다시 150px, 700px, 150px 로 나누고 안쪽의 div에는 display: inline-block 속성을 주었는데 맨 오른쪽 div 영역이 아래쪽으로 밀려내려감 *** div의 padding과 margin, border는 모두 0px 이었음 2. 원인 태그 등으로 다른 태그들을 묶어주는 경우, div 태그 또한 inline-element로 인식을 하기 때문에 div들끼리 마주하는 부분에서 여백이 생김 div 뿐만아니라, span도 마찬가지 3. 해결 방법 1) .container { // 부모 랩퍼 ... font-size: 0px; letter-spacing: 0px; word-spacing: 0px; } .container > div..
Canvas Context 메소드 확장하기.
·
Study/JavaScript
Html5의 Canvas 는 html5의 역사가 그리 길지 않은만큼 그 역사 또한 짧습니다. 기능적인 측면에서 이건 왜이렇게 되느냐 부터 시작해서 아쉬운 부분이 많이 보일때가 많아요. 이럴땐 거의 울며 겨자먹기로 기능을 메소드로 감싸서 보완하고 원래의 기능 '인것 처럼' 구현하곤 합니다. 오늘 만난 문제가 그중 하나였는데요. 첫번째로 canvas의 fillText는 기본적으로 멀티라인을 지원하지 않는 문제였습니다. 이는 일일히 text를 잘라서 계산을 해주어야 하는 부분이었습니다. 구글가서 찾아보신분들은 아마 아실거에요, 이 문제에대한 원성이 얼마나 자자한지.. 그리고 대부분의 경우 메소드를 하나 생성해서 해결을 합니다만, 이게 특정 라이브러리에 속해있는 등의 문제를 만나면 조금은 문제가 복잡해지죠. 그..
Redhat JBoss mysql Datasource 설정하기
·
Study/WAS
JBoss 서버에 데이터소스를 설정하는 내용을 담은 글들이 매우 많으나, 사실상 적용이 안되는 경우가 많았다. 톰캣처럼 컨텍스트 추가하고 읽으면 바로 사용할 수 있는 방법은 없다. JBoss 에서 데이터소스를 사용하는 순서는 다음과 같다. 1. 드라이버 모듈 추가 2. 데이터소스 드라이버 등록 3. 데이터소스 추가 4. 데이터소스 매핑 jboss-web.xml 1. 드라이버 모듈 추가 드라이버 모듈은 modules 에 디렉토리를 생성하고 module.xml 을 생성하여 넣는 방법이 대부분 소개되어있다. 그러나 간혹 jboss 에서 인식이 되지 않는 경우가 발생한다. 모듈이 없거나 존재하지 않는다는 경고가 발생한다. 공백이나 양식, 문법등의 문제겠지만 정확히 어떤것이 문제인지는 확인할 수 없었다. 여기서는..
BCEL로 런타임에 Arguments(매개변수들) 캡쳐하는 Instruction 추가하기.
·
Study/BCI&BCEL&ASM
Bcel 을 처음 다룰 당시에 만들었던 간단한 매개변수 출력하는 BCEL transform이다. 상당히 다듬어지지않은 막코드라서 감안해서 볼 필요가있다. 핵심부분은 밑줄과 주석을 달겠다. 이전글(http://blog.sanguneo.com/21) 에서 premain 을 이용한 javaagent 사용법은 간략하게 배웠는데. BCEL을 여기에 접목시킨다는것은 조금 고차원적인 접근이 필요하다.(필자의 생각) 우선적으로 소스를 펼치기에 앞서 이론설명을 하자면 자바의 .class 파일은 완전하계 기계어(?)로 번역된것이 아닌, 그렇다고 소스형태도아닌 그 중간어딘가의 형태로 볼수있다. javac 명령어를 실행하면 소스파일을 java컴파일하면 class 파일로 뱉어내게되는데, 이 class파일이 ByteCode의 목..