우선 json array 객체를 만들어 줍니다.

var test = [

{

"order":"10"

, "name":"aaa"

, "point":"555"

}

,{

"order":"4"

, "name":"bbb"

, "point":"222"

}

,{

"order":"8"

, "name":"ccc"

, "point":"999"

}

];


console.log("sort 전 : ", test);


test.sort(function(a,b) {

return parseFloat(a.order) - parseFloat(b.order);

});


console.log("sort 후 : ", test);


order는 key

b - a 는 내림차순 a - b 는 오름차순 입니다.

SVN 커밋을 치려고 하다 보면 가끔 



이런 오류가 발생할때가 있습니다.


이럴때 해결 방법은 

 : 프로젝트 우클릭 - team - cleanup 실행


후 다시 commit을 시도해보시기 바랍니다.


클린해도 안될 경우


window탐색기로 해당 프로젝트 디렉토리에서 .svn 디렉토리로 이동해서

locked 파일이 있으면 삭제 해주세요.



'개발' 카테고리의 다른 글

API 란 무엇인가?  (0) 2017.09.06
servlet 개념 [서블릿 개념]  (0) 2017.09.05
Spring 4.0 달라진점  (0) 2017.09.05
REST API 제대로 알고 사용하기  (0) 2017.09.05
[ MYSQL ] Access denied for user ~ (using password: YES)  (0) 2017.07.21

DB 접속 (윈도우 서버일 경우 콘솔에서)

sqlplus '/as sysdba'


사용자 검색


SQL> show user


SQL> alter user [user id] identified by [password];


user id  자리에 변경하고자 하는 사용자 계정을 넣고 password자리에 변경하고자 하는 패스워드를 넣어주세요.



간단한 user 비밀번호 변경이였습니다.



'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'개발 > DB' 카테고리의 다른 글

oracle 날짜 포맷  (0) 2017.08.30
MS-SQL 날짜형식 SELECT  (0) 2017.08.29
서브쿼리 (subquery)  (0) 2017.08.01
Outer Join 정리  (0) 2017.07.31
[시간별 통계] 한개의 테이블에서 여러개 count값 뽑기  (0) 2017.03.17

프로그램을 만들다 보면 VO 객체를 복사할 경우가 많이 생기게 된다.


3~4개 정도


그럴 경우 Spring FameWork 에서 포함되어 있는.


BeanUtil.copyProperty("sourceVO", "targetVO') 


으로 사용하면 된다.


주의할 점.)

BeanUtils 는 apache Jakarta Project 로 apache.commons.beanUtils 은 copyProperty("tartget", "source")

이다.


Spring에서 포함 되면서 가공되어진 것으로 보인다. API 필히 확인. ㅋ



출처: http://srue.tistory.com/62 [Srue Story.]


console.log(document); 메시지를 표시한다.
console.debug(document); console.log와 동일하다.
console.warn(document); "경고" 아이콘과 같이 메시지를 표시한다.
console.error(document); "오류" 아이콘과 같이 메시지를 표시한다.
console.info(document); "정보" 아이콘과 같이 메시지를 표시한다.
console.dir(document); 개체의 속성이 표시된다.
console.trace(1, 2, 3); 호출 스택을 표시한다.
console.assert('test'.length < 2, "length >= 2"); 데이터 확인도 가능하다.
console.count('count_test'); "count_test"가 호출된 수만큼 증가된 숫자가 표시된다.
console.time('time_test'); console.time호출 시점부터 console.timeEnd 호출 시점까지 경과 시간을 표시한다.
console.timeEnd('time_test'); console.time과 같이 한쌍이며 time_test 인자는 동일해야 한다.
console.profile('profile_test'); console.profile호출 시점부터 console.profileEnd 호출 시점까지 프로파일링 리포트를 표시한다.
console.profileEnd('profile_test'); console.profile과 같이 한쌍이며 profile_test 인자는 동일해야 한다.
console.group('group_test'); console.group호출 시점부터 console.groupEnd 호출 시점까지 그룹핑한다.
console.groupCollapsed('group_test2'); console.groupCollapsed호출 시점부터 console.groupEnd 호출 시점까지 그룹핑한다.단 닫혀진 상태로 표시된다.
console.groupEnd(); console.group 혹은 console.groupCollapsed과 같이 한쌍이며 인자는 없다.
var names={0:{first:"John",last:"Smith"}}; console.table(names); 테이블 형태로 표시한다.(주의: 크롬, 파이어폭스만 지원됨.)



console log 꾸미기


// 간단한 샘플 코드

// 샘플 코드 1

console.log('%cBlue! %cRed!', 'color: blue;', 'color: red;');

// 샘플 코드 2

console.log("%o, %O", document.body, document.body);

// 샘플 코드 3

console.log("%c%s에  %d번째 방문자입니다.", "background: #D26187; color: white; font-size: 20px;", 'Blog', 90000);


출처 : http://blog.gaerae.com/2015/06/chrome-firefox-safari-ie11-developer-tool.html

ajax 는 Asynchronous Javascript and Xml 의 약자인데, 비동기식 자바스크립트와 XML 이라고 보면된다


javascript 의 XMLHttpRequest  를 이용하여 직접 구현하여도 되지만, 

jQuery 를 이용하는 것이 훨씬 더 간단하게 구현할 수 있다.



가장 큰 특징은 현재 페이지에서 페이지의 이동/전환없이, 특정 이벤트를 통해 서버와 http 통신을 할 수 있다는 것이며, 이를 통해 현재 페이지의 일부분을 업데이트 할 수 있다는 것이다.



function ajaxAct() {


$.ajax ({

type : "GET",                     // GET 또는 POST

url : 'updatetest.htm',          // 서버측에서 가져올 페이지

data : 'a=1&b=2&c=3',       // 서버측에 전달할 parameter

timeout : 5000,                  // 응답대기시간 

dataType : 'html',               // html , javascript, text, xml, jsonp 등이 있다

beforeSend: function() {      // ajax 요청하기전에 실행되는 함수

},

      success : function(data) {     // 정상적으로 완료되었을 경우에 실행된다

dataAct(data);              // data 인수에는 return 되어진 data 가 저장되어 있다

},

error : function(request, status, error ) {   // 오류가 발생했을 때 호출된다. 

console.log("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);

},

complete : function () {   // 정상이든 비정상인든 실행이 완료될 경우 실행될 함수

}

});

}



이때, success , error, complete 대신에 done, fail, always 를 사용해도 된다. 


$.ajax ({


})

.done(function(){ console.log("요청 성공시 호출") })

.fail(function(){ console.log("요청 실패시 호출") })

.always(function(){ console.log("성공 실패 상관없이 호출") })




예를들어, 아래와 같이 코딩한 후 실행을 시킨다면


$.ajax ({

url : "request.php",

success : function(data) { console.log("success")},

error : function(data) { console.log("success")},

complete : function(data) { console.log("success")},

})

.done(function(){ console.log("done") })

.fail(function(){ console.log("fail") })

.always(function(){ console.log("always") })


콘솔에 표시되는 순서는 다음과 같다.


1. 성공일 경우 : success > complete > done > always

2. 실패일 경우 : error > complete > fail > always





GET 방식을 이용하는 경우라면 아래와 같이 parameter 전달시에 URL 에 추가해서 전달할 수도 있다. 


url : 'updatetest.htm?name=이름&sex=male',



위의 ajaxAct() 를 실행시키면 updatetest.htm 을 불러오게 될텐데 만약, 아래와 같이 코딩한다면,

정상적으로 동작하지 않게된다. 왜냐하면 href 로 인해 페이지의 전환이 일어나게되고

페이지의 전환이 생기게되면 ajax 요청은 무시되기 때문이다. 


그러므로 ajax 요청은 페이지 전환없이, javascript 함수등을 이용하여 호출해 주어야 한다. 





본 포스팅은 아래 포스팅을 참고하였음



출처: http://doolyit.tistory.com/20 [동해둘리의 IT Study]

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery.min.js"></script>
    
<script>
$(function() {
  $( "#datepicker1" ).datepicker({
    dateFormat: 'yy/mm/dd'
  });
});
</script>
    
생년월일: <input type="text" id="datepicker1">



한국어로 

<link rel="stylesheet" href="//code.jquery.com/ui/1.8.18/themes/base/jquery-ui.css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.8.18/jquery-ui.min.js"></script>

<script>
$(function() {
  $( "#datepicker1" ).datepicker({
    dateFormat: 'yy-mm-dd',
    prevText: '이전 달',
    nextText: '다음 달',
    monthNames: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'],
    monthNamesShort: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'],
    dayNames: ['일','월','화','수','목','금','토'],
    dayNamesShort: ['일','월','화','수','목','금','토'],
    dayNamesMin: ['일','월','화','수','목','금','토'],
    showMonthAfterYear: true,
    changeMonth: true,
    changeYear: true,
    yearSuffix: '년'
  });
});
</script>
    
생년월일: <input type="text" id="datepicker1">


시작 ~ 끝

<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.8.18/jquery-ui.min.js"></script>

<script>
    $(function() {
        $("#datepicker1, #datepicker2").datepicker({
            dateFormat: 'yy-mm-dd'
        });
    });

</script>

<p>조회기간:
    <input type="text" id="datepicker1"> ~
    <input type="text" id="datepicker2">
</p>



시작 ~ 끝 (한국어)


<link rel="stylesheet" href="//code.jquery.com/ui/1.8.18/themes/base/jquery-ui.css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.8.18/jquery-ui.min.js"></script>
<script>
  $.datepicker.setDefaults({
    dateFormat: 'yy-mm-dd',
    prevText: '이전 달',
    nextText: '다음 달',
    monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
    monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
    dayNames: ['일', '월', '화', '수', '목', '금', '토'],
    dayNamesShort: ['일', '월', '화', '수', '목', '금', '토'],
    dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
    showMonthAfterYear: true,
    yearSuffix: '년'
  });

  $(function() {
    $("#datepicker1, #datepicker2").datepicker();
  });

</script>
<p>조회기간:
  <input type="text" id="datepicker1"> ~
  <input type="text" id="datepicker2">
</p>


서브쿼리(Subquery)란 하나의 SQL문안에 포함되어 있는 또 다른 SQL문을 말한다. 서브쿼리는 알려지지 않은 기준을 이용한 검색을 위해 사용한다. 서브쿼리는 메인쿼리가 서브쿼리를 포함하는 종속적인 관계이다.

  • 서브쿼리 사용시 주의사항
    • 서브쿼리를 괄호로 감싸서 사용한다.
    • 서브쿼리는 단일 행(Single Row) 또는 복수 행(Multiple Row) 비교 연산자와 함께 사용 가능하다. 단일 행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하이어야 하고 복수 행 비교 연산자는 서브쿼리의 결과 건수와 상관 없다.
    • 서브쿼리에서는 ORDER BY를 사용하지 못한다. ORDER BY절은 SELECT절에서 오직 한 개만 올 수 있기 때문에 ORDER BY절은 메인쿼리의 마지막 문장에 위치해야 한다.
  • 서브쿼리가 가능한 곳은 다음과 같다.
    • SELECT CLAUSE
    • FROM CLAUSE
    • WHERE CLAUSE
    • HAVING CLAUSE
    • ORDER BY CLAUSE
    • INSERT VALUES CLAUSE
    • UPDATE SET CLAUSE


① 단일행 서브쿼리(Single Row Subquery)
SELECT * 
FROM Player
WHERE Team_ID = (
	SELECT Team_ID 
	FROM Player
	WHERE Player_name = "yonglae"
	)
ORDER BY Team_name;

② 다중행 서브쿼리(Multiple Row Subquery)
SELECT * 
FROM Team
WHERE Team_ID IN (
	SELECT Team_ID 
	FROM Player
	WHERE Player_name = "yonglae"
	)
ORDER BY Team_name;

③ 다중컬럼 서브쿼리(Multi Column Subquery)
SELECT * 
FROM Player
WHERE (Team_ID, Height) IN (
	SELECT Team_ID, MIN(Height) 
	FROM Player
	GROUP BY Team_ID
	)
ORDER BY Team_ID, Player_name;



Outer Join 이란?


- Equi Join은 조인을 생성하려는 두 개의 테이블의 한쪽 컬럼에서 값이 없다면 테이터를 반환하지 못한다.

- 동일 조건에서 조인 조건을 만족하는 값이 없는 행들을 조회하기 위해 Outer Join을 사용 한다.

- Outer Join 연산자는 "(+)" 이다.

- 조인시 값이 없는 조인측에 "(+)"를 위치 시킨다.

- Outer Join 연산자는 표현식의 한 편에만 올 수 있다.



LEFT OUTER JOIN


LEFT OUTERL JOIN은 오른쪽 테이블(아래 예제에서 emp테이블)에 조인시킬 컬럼의 값이 없는 경우 사용한다.


SELECT DISTINCT(e.deptno), d.deptno

FROM dept d 

LEFT OUTER JOIN emp e

ON d.deptno = e.deptno; 



RIGHT OUTER JOIN


RIGHT OUTERL JOIN은 왼쪽 테이블(아래 예제에서 emp테이블)에 조인시킬 컬럼의 값이 없는 경우 사용한다.


SELECT DISTINCT(e.deptno), d.deptno

FROM emp e 

RIGHT OUTER JOIN dept d

ON e.deptno = d.deptno;



FULL OUTER JOIN


FULL OUTERL JOIN은 양쪽 테이블 모두 Outer Join걸어야 하는 경우 사용 한다.


SELECT DISTINCT(e.deptno), d.deptno

FROM emp e 

FULL OUTER JOIN dept d

ON e.deptno = d.deptno;



출처  :  http://www.gurubee.net/lecture/1021

메소드

addClass( class )    : 매치된 요소들의 각 집합에 지정된 CSS 클래스를 추가한다.

hasClass( class )    : 지정된 클래스가 매치된 요소 집합 중 최소 한 군데 이상 적용되어 있다면 true를 반환한다.

removeClass( class ) : 매치된 요소들의 각 집합에서 지정된 CSS 클래스 혹은 모든 클래스를 제거한다.

toggleClass( class ) : 지정된 클래스가 적용되지 않았다면 적용하고, 이미 적용되어 있다면 제거한다.

attr( name )         : 메치된 첫 번째 요소의 특정 어트리뷰트에 접근하여 값을 가져온다. 만일, 지정된 어트리뷰트 명이 존재하지 않는다면 undefined가 반환된다. 어트리뷰트에는 title, alt, src, href, width, style와 같은 것들이 해당된다.

attr( properties )   : 모든 매치되는 요소들의 어트리뷰트를 키/값 개체로 설정한다.

attr( key, value )   : 모든 매치되는 요소들의 단일 어트리뷰트의 값을 지정한다.

attr( key, fn )      : 모든 매치되는 요소들의 단일 어트리뷰트에 대해 계산된 값을 지정한다.

removeAttr( name )   : 매치된 요소 각각으로부터 해당 어트리뷰트를 제거한다


.css("name")

.css("name", "value")

.css({"name":"value", "name":"value", "name":"value"})


<p>TEST CSS</p>

 

<script>

$('p').css({'color':'red', 'font-weight':'bold'})

<script>

+ Recent posts