본문 바로가기

개발34

jQuery (제이쿼리) - jQuery index(), contains 이번에는 제이쿼리 객체의 index 를 얻어올 수 있는 index() 함수에 대해 공부해보자.사용법은 지극히 간단하므로 바로 밑의 예제를 통해 사용법을 보도록 하자. 라면 피자 치킨 라면 감자라면 피자라면 치킨라면 피자 피자헛 도미노피자 미스터피자 치킨 BHC뿌링클 BHC맛초킹 처갓집 교촌치킨 시장치킨 $(function() { var index = $("li").index($("li:contains('치킨')")); alert(index); }); 위와 같은 코드가 있을 때 index 는 몇 번이 나올까? 아마 모든 프로그래밍 언어에서 동일하거나 비슷할 거라고 생각이 되는데 배열이 아닌 이상 거의 정답은 2 가 나온다. 그렇다면 subList 의 치킨을 선택하고 싶다면 어떻게 해야 할까?아마 보통은 다.. 2018. 6. 3.
jQuery (제이쿼리) - jQuery get(), eq() 의 차이점 앞서 제이쿼리의 get() 과 toArray() 의 차이점을 알아봤는데 이번에는 get() 과 eq() 함수의 차이점을 알아보도록 하자. get() 함수는 index 를 주어 get(index) 의 형태로 객체를 얻어올 수 있다고 했는데eq() 함수 또한 index 를 주어 get(index) 의 형태로 객체를 얻어올 수 있다. 그렇다면 이 둘의 차이점은 뭘까? 이것 역시 앞서 지긋지긋하게 설명했던 제이쿼리 객체와 HTML 객체를 얻어오는 것의 차이점이 있다.get() 이 HTML 객체를 얻어오는 함수라면 eq() 는 해당 배열의 index 에 해당하는 객체를 제이쿼리 객체로 얻어온다. 간단한 예제를 보고 끝내도록 하자. 룩셈부르크 대한민국 일본 러시아 중국 미국 북한 가나 아프리카 $(function(.. 2018. 6. 3.
jQuery (제이쿼리) - jQuery get(), toArray() 제이쿼리 함수 중 get() 이라는 함수가 있다. 이 함수는 사실 그렇게 많이 사용한 경우가 없었는데... 라기보다 사용한 적이 없었는데 그래도 다른 솔루션에 보면 많이 있는 것 같아서 알아두면 유용한 함수이니 알아두고 넘어가도록 하자. 기본적인 사용 문법은 다음과 같다. $("p").get(); - 선택자.get(); $("p").get(2); - 선택자.get(index); 너무나도 단순해서 사용 문법에 대해서는 더 설명을 할 수가 없다. 그렇다면 단순히 선택자를 사용해서 선택하는 것과 get() 을 사용하는 것의 차이점은 뭘까? 바로 그 차이점은 앞선 포스팅에서 지긋지긋하게도 말했던 제이쿼리 객체와 HTML 객체에 있다. get() 함수는 선택자로 선택된 엘리먼트들을 HTML 객체 배열로 리턴을 해.. 2018. 5. 28.
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 + .. 2018. 5. 28.
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.. 2018. 5. 27.
jQuery (제이쿼리) - jQuery Selector (제이쿼리 선택자/셀렉터) jQuery(이하 제이쿼리) 의 Selector(이하 셀렉터) 는 기본적으로 $ 을 붙여 사용한다. jQuery Selector : $( ) $ 대신 jQuery 를 붙여 jQuery( ) 의 형태로도 사용이 가능하지만 보통은 $ 를 사용한다. (예전에 있던 프로젝트 부장이 공통모듈 만든다고 $ 를 사용한 소스를 만들었다가 낭패였던 기억이...) 위에도 써놨듯 셀렉터는 $( ) 의 기본 형태를 갖는데 의미 없이 이렇게 만들어 진 것이 아니라 이 형태 자체가 하나의 함수라고 볼 수 있으며 자바스크립트와 비교하자면 $ 는 함수명이고 괄호 안에 파라미터를 적어 넘김으로써 하나의 함수가 실행된다고 볼 수 있다. 예를 들어 $('div') 라는 구문을 사용했다면 $ 라는 함수에 div 라는 파라미터를 넘긴 것과 .. 2018. 5. 27.
오라클 - 펑션(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.. 2018. 4. 29.
오라클 - CONNECT BY LEVEL 이전 시간에 CONNECT BY PRIOR 에 대해서 공부를 했는데 내친 김에 이어서 CONNECT BY LEVEL 에 대해서도 공부를 해보자. CONNECT BY LEVEL 은 결론부터 말하자면 FOR 문을 사용한 것처럼 결과 값을 보여주는 게 가능하다. 이것도 무슨 말인가 하면 설명하면 힘드니 곧바로 쿼리를 돌려서 알아보자. SELECTLEVEL FROMDUAL CONNECT BY LEVEL 2018. 4. 14.
오라클 - 계층형 쿼리 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 .. 2018. 4. 14.
오라클 - 문자열을 자릿수만큼 채워주는 LPAD(), RPAD() 함수 DB 작업을 하다보면 가끔이지만 자릿수를 채워야 할 일이 생긴다. 예를 들자면 회원가입 시, 혹은 물품의 일련번호 기입시 순번이라거나 년도 + 시퀀스로 회원 번호를 만들거나 하는 경우인데 가끔 정말 무식한 방법으로 프로그램을 짠 곳을 보면 길이 체크를 해서 IF문으로 일일이 0, 00 등을 붙이는 곳이 있는데... 이건 정말 아니라고 본다. 하여튼 이럴 때는 오라클에서 제공하는 LPAD, RPAD 함수를 사용하면 되는데 이 함수들은 지정한 자릿수만큼 부족한 글자를 채워주는 기능을 한다. 사용법은 매우 간단하다.LPAD('컬럼 또는 문자열', 길이, '문자') RPAD('컬럼 또는 문자열', 길이, '문자') SELECT LPAD('1', 5, '0'), LPAD('11', 5, '0') FROM DUAL.. 2018. 4. 14.
오라클 - 정규표현식 함수 REGEXP_REPLACE() 오라클 정규표현식 함수 복습 제 2탄은 REGEXP_REPLACE() 되겠다.정규식은 참 공부하면 공부할수록 쓸 일도 많고 아주 좋고 훌륭한 녀석인 것 같다. REPLACE 가 단순하게 글자와 글자를 비교해 치환을 해준다면 REGEXP_REPLACE 또한 REGEXP_SUBSTR 과 마찬가지로 정규식을 이용해 좀 더 다양하고 자세한 패턴으로 문자열을 검색, 변경할 수 있다. 우선은 간단한 것부터 예를 들어서 해보자. 기본 문법은 아래와 같다.REGEXP_REPLACE(COLUMN, [REG_EXP], [REPLACE_STR], [START_INDEX], [REPLACE_INDEX]) /* 기본적인 사용 방법 */ SELECT REGEXP_REPLACE('안녕하세요., 반갑습니다./', '\..', '.'.. 2018. 4. 1.
오라클 - 정규표현식 함수 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.. 2018. 4. 1.