2015. 3. 27. 18:26

Object.isFunction( obj );는 무엇인가? 

- Object객체에 추가된 메서드

function isFunction(obj) { return typeof obj === "function"; }

Posted by 미랭군
2015. 3. 27. 18:14

var axf = AXUtil = {는 왜 썼을까?

 - Jquery에서도 쓰인 방법 var $ = jQuery; , jQuery.fn = jQuery.prototype = { 등

 - 축약어 제공

Posted by 미랭군
2015. 3. 27. 18:08

 var AXConfig = { 

weekDays: [ { label: "일" },  { label: "월" }, { label: "화" }, { label: "수" }, { label: "목" }, { label: "금" }, { label: "토" } ] ``` */ weekDays: [ { label: "일" }, { label: "월" }, { label: "화" }, { label: "수" }, { label: "목" }, { label: "금" }, { label: "토" } ]

중략...

}


- 객체 생성 방법에는 new Object(), {}, 객체 리터럴 방식이 있다.

객체리터럴은 중괄호({})를 이용해서 객체를 생성한다. {} 안에 아무것도 적지 않은 경우는 빈 객체가 생성되며, 중괄호 안에 "프로퍼티 이름": "프로퍼티값" 형태로 표기하면, 해당 프로퍼티가 추가된 객체를 생성할 수 있다. 여기서 프로퍼티 이름은 문자열이나 숫자가 올 수 있다. 그리포 프로퍼티값으로는 자바스크립트의 값을 나타내는 어떤 표현식도 올 수 있으며, 이 값이 함수일 경우 이러한 프로퍼티를 메서드라고 부른다.

앞의 예제를 객체 리터럴 방식으로 다시 작성하면 다음과 같다.

var foo = {

       name: 'foo',

       age: 30,

       gender: 'male'

}

console.log(typeof foo); //(출력값) object

console.log(foo); //(출력값) name: 'foo', age: 30, gender: 'male' }



Posted by 미랭군
2015. 3. 27. 17:55

if(!window.AXConfig) { 는 왜 썼을까?

- 모든 변수는 window오브젝트에 등록된다.

- 이미 global객체로 AXConfig가 등록되어있는지 확인하기 위해서 씀.


window객체는 global 객체이기도 하므로, 글로벌 변수로 선언된 모든 변수들은 window객체가 속성으로 가지게 된다.

<script>

var myGlobal = "am i in window?";

alert(myGlobal);

alert(window.myGlobal + " Yes you are!");

</script>

 이러한 것을 보게 되면 '이게 뭐?' 라는 생각을 하게 될지도 모르지만, 객체의 속성 접근 방법을 스트링을 인덱스로 하는 배열 접근 방식도 가능하다는 것을 떠올리면 이러한 window 객체의 활용은 그야말로 무궁무진하게 되는 것이다. 

<script>

var myGlobal = "am i in window?";

var myVariableName = "myGlobal";

alert(myGlobal);

alert(window.myGlobal + " Yes you are!");

alert(window["myGlobal"] + " Yes you are!");

alert(window[myVariableName] + " Yes you are!");

</script>

 여전히 '이게 뭐?' 라고 생각한다면, 흔히들 eval을 이용해서 많이 구현하던, 가변적으로 button들을 설정하기 등과 같은 것을 떠올려보자.

var button1 = document.getElementById("button1");

button1.dosomething = "버튼별로 무언가를 한다. 근데 자꾸 수가 늘어나므로 노가다하기는 싫다ㅠ";

var button2 = document.getElementById("button2");

var button3 = document.getElementById("button3");

var button4 = document.getElementById("button4");


 초창기 시절 이러한 질문을 커뮤니티에 올리면 나오는 대답이 'eval을 쓰세요' 였다.

for (var i = 0 ; i < 4 ; i++) {

    eval("var button" + i + " = document.getElementById('button" + i + "');";

    eval("button" + i + ".dosomething = '이렇게 해도 되지만, eval을 사용했다ㅠ'";

}

 하지만 이미 이전에 썼던 글 중에서 'eval is evil'이라는 것을 이전의 글 중에서 썼던 것을 기억한다면 eval을 사용하지 않는 것을 습관으로 들이면 좋을 것이라고 했고, 아직도 이렇게 조언하는 사람이 있다면 그 사람은 그렇게 고급 자바스크립트 개발자는 아니라는 것을 바로 눈치챌 수 있다. 이렇게 eval 없이는 안될 것 같은 것도 window의 이러한 스트링 인덱스를 통한 배열 접근을 한다면 해결이 가능하다.

for (var i = 0 ; i < 4 ; i++) {

    window["button" + i] = document.getElementById("button" + i);

    window["button" + i].dosomething = "eval 따위 없어도 돼!";

}

 사실 이것은 window에 국한 된 것이 아니라 모든 자바스크립트의 객체에 대하여 가능하므로 참고를 하면 좋을 것이다. 이외에도 글로벌 영역에 선언한 함수들도 window객체의 속성으로 접근가능하다.

function myFunction () {

    alert("I'm invoked!");

}

window["myFunction"]();

window["myFunction"].call();

 이러한 함수명이 없는 함수 리터럴이 아닌 일반 함수로 선언된 함수들도 이러한 식으로 쉽게 접근이 가능하고 변수로 다시 저장이 가능하다는 점은 요긴하게 쓰일 때가 많을 것이다. 글로벌 변수로 선언된 것은 window 객체의 속성으로 들어가기도 하고, 반대로 window 객체의 속성으로 선언된 변수/함수들을 글로벌 변수/함수가 되기도 하므로 양방향으로 필요할 때 요긴하게 사용하면 좋을 것이다.

 자바스크립트에서 일반적으로 사용하는 변수들, 값들, 심지어 undefined나 NaN까지 window 객체의 속성들로 기본적으로 들어가있는 것을 보면 재미있을 것이고, 자바스크립트의 구조가 조금 더 이해가 될 것이다.


Posted by 미랭군
웹표준2015. 2. 24. 13:22

아래와 같이 a 태그나 이미지 맵에서는 href 속성에 javascript 라고 기술하고,

<a href="javascript:funcBoo()">클릭</a>


onclick 이벤트가 들어갈 때는 javascript 를 기술하지 않았었죠..?

<span onclick="funcBoo()">클릭</span>


그런데, 모바일에서는 onclick 이벤트에 javascript 를 반드시 기술해야 합니다.

<span onclick="javascript:funcBoo()">클릭</span> 과 같이 해야 한다는 말씀입니다. 

'웹표준' 카테고리의 다른 글

[CSS] DIV 세로 정렬하기  (0) 2010.11.05
Posted by 미랭군
자바·JSP2015. 1. 30. 09:04

MyBatis / iBatis에서 조건절에 Like 검색시 처리하는 방법이다.



검색하고자 하는 필드명이 "title" 이고 해당 필드에서 검색할 내용을 파라미터를 "keyword" 라고 하면 아래와 같이 검색할 수 있다.

[MySQL]
title like CONCAT('%',#{keyword},'%')


[Oracle]
title like '%' ||  #{keyword} || '%'


[MSSQL]
title like '%' + #{keyword} + '%' 



정리 : 각 DBMS에 맞게 문자열 합치기 함수를 사용하여 이용하면 된다.

Posted by 미랭군
카테고리 없음2014. 12. 1. 17:08

낙타등 표기법(CamelCase)

낙타등 표기법, 혹은 카멜 케이스(혹은 캐멀 케이스)로 불리우는 이 표기법은 로마자를 사용하는 문화권에서 대문자와 소문자를 사용해서 합성어 등의 단어의 띄어쓰기 구분을 할 수 있게 배려한 표기 방법이다. 즉 합성어가 여러 단어를 합쳐서 만든 이름일 경우 단어 구분이 되는 부분을 대문자, 혹은 소문자로 시작하고, 그 구분자 이외의 부분에서는 반대의 문자열 표기를 함으로서 단어간 구분을 해주는 방식이다. 한개의 단어에서 대문자, 소문자가 울룩불룩하게 표기되면서 낙타의 등에 있는 혹처럼 보인다고 해서 CamelCase라고 부른다.

다른 이름으로 카멜 표기법, 파스칼 표기법(PascalCase), 인터 캡스(InterCaps), 믹스 케이스(mixedCase) 등으로도 부르며, 주로 고유대명사나 프로그래밍 언어 등에서 변수, 함수명 등에서 구분을 위해서 사용하곤 한다.

한글에는 대소문자 구분이 없기 때문에 보통 띄어쓰기로 구분해주는 경우가 많고, 고유대명사의 경우에는 그냥 구분하지 않고 붙여서 읽는 경우도 많다.

주요사용 방식

명칭예시설명
대문자 낙타등 구분자 
(UpperCamelCase, UCC)
GetInputReader
McDonald, PlayStation
주로 ‘파스칼 표기법’으로 불리우는 방식으로, 문장의 첫문자부터 구분자인 대문자로 쓰게 되는 형식. 일반적인 표기에 많이 사용됨
소문자 낙타등 구분자 
(lowerCamelCase, LCC)
getInputReader주로 ‘낙타등 표기법’으로 불리우는 방식은 이쪽. 첫문장의 문자는 소문자로, 구분되는 단어시작부터 대문자를 사용함. 프로그래밍 언어 등에 많이 사용됨


Posted by 미랭군
HTML52014. 11. 28. 11:36

http://mobicon.tistory.com/275

'HTML5' 카테고리의 다른 글

alt, title에서 줄바꿈 처리  (0) 2018.10.11
Canvas에서 아크라인(ARC LINE) 그리기  (0) 2016.06.14
특수기호 표시  (0) 2014.10.02
Handsontable 한글 문제  (0) 2014.08.13
부트스트랩 관련 블로그  (0) 2013.08.13
Posted by 미랭군
리눅스2014. 11. 18. 15:55

솔라리스

/usr/ucb/ps -auxww | grep {옵션}


리눅스

ps -efw | grep {옵션}

Posted by 미랭군
기타2014. 10. 30. 00:45

http://www.wanaplan.com/en/plan/

http://cybermap.kaspersky.com/

'기타' 카테고리의 다른 글

지혜를 갈구하는 기도  (0) 2015.05.21
[SVN] branch, tag, trunk 차이  (0) 2015.04.08
스탠드업 회의  (0) 2013.11.18
SVN(subversion) branches, tags, trunk 에 대한 개념  (0) 2012.11.05
앱 개발 시 유념해야할 내용들..  (0) 2012.11.05
Posted by 미랭군