본문 바로가기

개발

(34)
jQuery (제이쿼리) - jQuery index(), contains 이번에는 제이쿼리 객체의 index 를 얻어올 수 있는 index() 함수에 대해 공부해보자.사용법은 지극히 간단하므로 바로 밑의 예제를 통해 사용법을 보도록 하자. 라면 피자 치킨 라면 감자라면 피자라면 치킨라면 피자 피자헛 도미노피자 미스터피자 치킨 BHC뿌링클 BHC맛초킹 처갓집 교촌치킨 시장치킨 $(function() { var index = $("li").index($("li:contains('치킨')")); alert(index); }); 위와 같은 코드가 있을 때 index 는 몇 번이 나올까? 아마 모든 프로그래밍 언어에서 동일하거나 비슷할 거라고 생각이 되는데 배열이 아닌 이상 거의 정답은 2 가 나온다. 그렇다면 subList 의 치킨을 선택하고 싶다면 어떻게 해야 할까?아마 보통은 다..
jQuery (제이쿼리) - jQuery get(), eq() 의 차이점 앞서 제이쿼리의 get() 과 toArray() 의 차이점을 알아봤는데 이번에는 get() 과 eq() 함수의 차이점을 알아보도록 하자. get() 함수는 index 를 주어 get(index) 의 형태로 객체를 얻어올 수 있다고 했는데eq() 함수 또한 index 를 주어 get(index) 의 형태로 객체를 얻어올 수 있다. 그렇다면 이 둘의 차이점은 뭘까? 이것 역시 앞서 지긋지긋하게 설명했던 제이쿼리 객체와 HTML 객체를 얻어오는 것의 차이점이 있다.get() 이 HTML 객체를 얻어오는 함수라면 eq() 는 해당 배열의 index 에 해당하는 객체를 제이쿼리 객체로 얻어온다. 간단한 예제를 보고 끝내도록 하자. 룩셈부르크 대한민국 일본 러시아 중국 미국 북한 가나 아프리카 $(function(..
jQuery (제이쿼리) - jQuery get(), toArray() 제이쿼리 함수 중 get() 이라는 함수가 있다. 이 함수는 사실 그렇게 많이 사용한 경우가 없었는데... 라기보다 사용한 적이 없었는데 그래도 다른 솔루션에 보면 많이 있는 것 같아서 알아두면 유용한 함수이니 알아두고 넘어가도록 하자. 기본적인 사용 문법은 다음과 같다. $("p").get(); - 선택자.get(); $("p").get(2); - 선택자.get(index); 너무나도 단순해서 사용 문법에 대해서는 더 설명을 할 수가 없다. 그렇다면 단순히 선택자를 사용해서 선택하는 것과 get() 을 사용하는 것의 차이점은 뭘까? 바로 그 차이점은 앞선 포스팅에서 지긋지긋하게도 말했던 제이쿼리 객체와 HTML 객체에 있다. get() 함수는 선택자로 선택된 엘리먼트들을 HTML 객체 배열로 리턴을 해..
jQuery (제이쿼리) - jQuery each 제이쿼리에서는 each 라는 함수를 제공한다. 보통은 for 문 대신 사용한다고 하는데 내가 보기엔 while(hasNext) 와 비슷하지 않나 싶다. 사용하는 방법에는 여러 가지가 있는데 그 중 몇 가지를 살펴보자. $(function() { var result = ""; $("p").each(function() { result += $(this).html() + "\n"; }) alert(result); result = ""; $.each($("p"), function() { result += $(this).html() + "\n"; }); alert(result); result = ""; var pElem = $("p"); $.each(pElem, function(i) { result += i + ..
jQuery (제이쿼리) - jQuery Selector 실습 앞서 제이쿼리에서 사용하는 기본적인 셀렉터에 대해 알아봤었는데 이번엔 그 실습을 해보자. $(function () { var jq = $("#pTag"); alert(jq.html()); jq = $("p"); alert(jq.html()); jq = $(".pTag"); alert(jq.html()); jq = $("[name=pTag]"); alert(jq.html()); }); Hello, jQuery! $(function() {}); 구문은 document.ready 와 같은 구문이다. 복잡하게 알려고 하지 말고 그냥 그렇구나 하고 넘어가는 것이 정신건강에 좋다.$(document).ready(function() {}); 의 형태로 많이 사용된다. html() 은 제이쿼리 셀렉터로 선택된 jQue..
jQuery (제이쿼리) - jQuery Selector (제이쿼리 선택자/셀렉터) jQuery(이하 제이쿼리) 의 Selector(이하 셀렉터) 는 기본적으로 $ 을 붙여 사용한다. jQuery Selector : $( ) $ 대신 jQuery 를 붙여 jQuery( ) 의 형태로도 사용이 가능하지만 보통은 $ 를 사용한다. (예전에 있던 프로젝트 부장이 공통모듈 만든다고 $ 를 사용한 소스를 만들었다가 낭패였던 기억이...) 위에도 써놨듯 셀렉터는 $( ) 의 기본 형태를 갖는데 의미 없이 이렇게 만들어 진 것이 아니라 이 형태 자체가 하나의 함수라고 볼 수 있으며 자바스크립트와 비교하자면 $ 는 함수명이고 괄호 안에 파라미터를 적어 넘김으로써 하나의 함수가 실행된다고 볼 수 있다. 예를 들어 $('div') 라는 구문을 사용했다면 $ 라는 함수에 div 라는 파라미터를 넘긴 것과 ..
오라클 - 펑션(FUNCTION) 생성 복습! 오늘은 오라클 펑션 생성 복습 시간이다. 사실 저번 기초 문법과 크게 바뀐 것은 없지만 나름대로 약간의 변화를 줘봤다. CREATE OR REPLACE FUNCTION FN_GET_DATE_2018_04_29(I_DIV VARCHAR2) RETURN VARCHAR2 IS V_DATE VARCHAR2(100); USER_DEFINE_EXCEPTIONEXCEPTION; BEGIN IF I_DIV = 'SYSDATE' THEN SELECT SYSDATE INTO V_DATE FROM DUAL; ELSIF I_DIV = 'YYYYMMDD' THEN SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') INTO V_DATE FROM DUAL; ELSIF I_DIV = 'YYYY-MM-DD' THEN S..
오라클 - CONNECT BY LEVEL 이전 시간에 CONNECT BY PRIOR 에 대해서 공부를 했는데 내친 김에 이어서 CONNECT BY LEVEL 에 대해서도 공부를 해보자. CONNECT BY LEVEL 은 결론부터 말하자면 FOR 문을 사용한 것처럼 결과 값을 보여주는 게 가능하다. 이것도 무슨 말인가 하면 설명하면 힘드니 곧바로 쿼리를 돌려서 알아보자. SELECTLEVEL FROMDUAL CONNECT BY LEVEL
오라클 - 계층형 쿼리 START WITH... CONNECT BY PRIOR 오라클에서는 아주 강력한 계층형 쿼리를 지원한다. 제목에도 써놨지만 바로 START WITH... 어쩌고 저쩌고 CONNECT BY PRIOR 이다. 왜 오라클에서는 이라고 써놨냐면 다른 DBMS 에서는 지원하지 않는 듯 하기 때문이다. (잘못 알고 있는 걸수도 있는데 -_- 그렇다고 한다.) 하여튼 이 계층형 쿼리는 아주 편리한 쿼리인데 특히나 게시판 + 답글 같은 쿼리를 작성할 때 아주 유용하게 사용할 수 있다. 기본적인 사용법은 다음 쿼리를 보자. SELECTLEVEL, LPAD(EMPLOYEE_ID, LEVEL*3, '.') FROMEMPLOYEES START WITH EMPLOYEE_ID = 100 CONNECT BY PRIOR EMPLOYEE_ID = MANAGER_ID; START WITH ..
오라클 - 문자열을 자릿수만큼 채워주는 LPAD(), RPAD() 함수 DB 작업을 하다보면 가끔이지만 자릿수를 채워야 할 일이 생긴다. 예를 들자면 회원가입 시, 혹은 물품의 일련번호 기입시 순번이라거나 년도 + 시퀀스로 회원 번호를 만들거나 하는 경우인데 가끔 정말 무식한 방법으로 프로그램을 짠 곳을 보면 길이 체크를 해서 IF문으로 일일이 0, 00 등을 붙이는 곳이 있는데... 이건 정말 아니라고 본다. 하여튼 이럴 때는 오라클에서 제공하는 LPAD, RPAD 함수를 사용하면 되는데 이 함수들은 지정한 자릿수만큼 부족한 글자를 채워주는 기능을 한다. 사용법은 매우 간단하다.LPAD('컬럼 또는 문자열', 길이, '문자') RPAD('컬럼 또는 문자열', 길이, '문자') SELECT LPAD('1', 5, '0'), LPAD('11', 5, '0') FROM DUAL..
오라클 - 정규표현식 함수 REGEXP_REPLACE() 오라클 정규표현식 함수 복습 제 2탄은 REGEXP_REPLACE() 되겠다.정규식은 참 공부하면 공부할수록 쓸 일도 많고 아주 좋고 훌륭한 녀석인 것 같다. REPLACE 가 단순하게 글자와 글자를 비교해 치환을 해준다면 REGEXP_REPLACE 또한 REGEXP_SUBSTR 과 마찬가지로 정규식을 이용해 좀 더 다양하고 자세한 패턴으로 문자열을 검색, 변경할 수 있다. 우선은 간단한 것부터 예를 들어서 해보자. 기본 문법은 아래와 같다.REGEXP_REPLACE(COLUMN, [REG_EXP], [REPLACE_STR], [START_INDEX], [REPLACE_INDEX]) /* 기본적인 사용 방법 */ SELECT REGEXP_REPLACE('안녕하세요., 반갑습니다./', '\..', '.'..
오라클 - 정규표현식 함수 REGEXP_SUBSTR() 이번에는 오라클 정규표현식의 여러 함수 중 REGEXP_SUBSTR() 에 대한 복습이다. SUBSTR 이 단순하게 인덱스를 지정해 문자열을 잘라냈다고 한다면 REGEXP_SUBSTR 은 정규식을 이용해좀 더 다양한 방법, 다양한 패턴으로 문자열을 자르는 것이 가능하다. 예를 들자면 이메일 주소에서 아이디, 도메인을 잘라서 따로 표기해야 한다고 했을 때 SUBSTR 은 뭐 @ 의 인덱스를 찾고 어쩌고 뭐하고 했을 것을 간단하게 아래와 같은 문장으로 처리할 수 있다. SELECTMEM_EMAIL , REGEXP_SUBSTR(MEM_EMAIL, '[^@]+', 1, 1) AS EMAIL_ID , REGEXP_SUBSTR(MEM_EMAIL, '[^@]+', 1, 2) AS EMAIL_DOMAIN FROMREG..