우선 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.]



삼성전자가 8월 23일 출시 예정인 갤럭시 노트8의 색상을 갤럭시 S8과 마찬가지로 미드나잇 블랙, 오키드 그레이 외 

코랄블루, 아크틱 실버 색상을 포함할 예정이라는 전망이 나왔다. 현재 갤럭시 노트8의 아크틱 실버 색상의 이미지가 

유출되었고, 로즈핑크 색상이 출시 될지는 확실치 않다고 한다. 

삼성전자가 상반기에 출시한 갤럭시 S8의 색상은 미드나잇 블랙, 오키드 그레이, 코랄 블루, 아크틱 실버, 로즈핑크 

5가지 색상으로 출시된 걸 확인해 보면, 비슷하게 다양한 색상으로 출시될 것으로 보인다. 


이외에 삼성 갤러시 노트8의 알려진 스펙은 18.5:9비율의 인피니티 디스플레이를 탑재한 6.3~6.5인치의 디스플레이를 

탑재할 예정이고, 화소는 3840X2160의 슈퍼 아몰레드 패널이 탑재될 예정이다. 그리고 현재까지의 삼성 스마트폰과 

다르게 듀얼 카메라가 탑재될 예정이다. 듀얼 카메라의 스펙은 1300만 화소의 광각 카메라, 1300만 화소의 일반 카메라가 

탑재될 예정이고, 3배 광학 줌 및 손떨림 보정 기능이 탑재될 예정이다. 

그리고 S펜에 따로 스피커가 탑재될 것으로 알려져 있다. 

노트8에 탑재되는 AP는 스냅드래곤 835, 엑시노스 8895가 탑재될 예정이고, RAM은 6GB가 탑재될 예정이다. 

저장 장치는 64GB/128GB가 탑재된다.



출처를 써야 하는데....창을 닫아버려서 다시 못찾겠네요...죄송합니다...

퍼온 글과 사진입니다.

언른 출시했음 좋겠네요 빨리 만나보고싶어요~ㅎㅎ


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

+ Recent posts