목록전체 글 (37)
개발합니다
스프링은 외부 설정 파일이나, VM 아규먼트와 같이 시스템 환경 변수와 같은 환경 정보를 읽을 수 있는 런타임 환경 서비스 추상화인 Environment 인터페이스를 제공하고 있다. 스프링 런타임 환경 추상화를 이용하면 다양한 소스로부터 일관된 방식으로 환경 정보를 읽을 수 있기 때문에 코드를 변경하지 않고도 얼마든지 설정 정보를 작성하는 방식을 변경할 수 있다. 환경 추상화(Environment Abstraction)란? 프로파일(profile)과 프로퍼티 소스(property-source)로 구성되며, 컨테이너와 통합 된 서비스 추상화이다. 이를 통해 실행 환경에 따라 빈을 구성할 수 있고, 일관된 방식으로 외부 설정 정보를 관리하고, 접근할 수 있다. 개발자는 environment 인터페이스나 애노..
람다식이란? 식별자 없이 실행 가능한 함수. 함수를 따로 만들지 않고 코드 한 줄에 함수를 써서 그것을 호출하는 방식이다. 사용법 (매개변수, ...) -> { 실행문 ... } 매개변수는 오른쪽 실행문을 실행하기 위해 필요한 값을 제공하는 역할이다. 매개변수 이름은 자유롭게 지정 가능하며, 인자 타입도 명시하지 않아도 된다. 매개변수가 하나이면 괄호를 생략해도 된다. a -> a * a 람다식의 바디부분 표현식이 하나일 경우에도 중괄호를 생략할 수 있다. 중괄호가 생략된 람다식에서는 세미콜론을 붙이지 않는다. 한가지 예외로 람다식 바디에 return문이 있는 경우엔 중괄호를 생략할 수 없다. (a, b) -> { return a > b ? a : b } 예제 @FunctionalInterface int..
DELETE FROM user_table TRUNCATE TABLE user_table [DELETE] DML(Data Manipulation Language) 종류 중 하나이다. delete문은 where절 사용이 가능하고, 테이블에 있는 데이터를 하나하나 선택하여 제거하는 방식. where절을 쓰지 않고 테이블 내에 모든 데이터를 삭제하더라도, 내부적으로는 한줄한줄 일일히 제거하는 과정을 거친다. -> 쿼리문 처리 속도가 길다. 따라서 원하는 데이터만 골라서 삭제할 때는 delete를 사용하고, 테이블의 전체 데이터를 삭제하고자 할 때는 truncate를 사용하는 것이 좋다. delete를 사용해서 삭제한 데이터는 commit 전에는 rollback을 통해 되돌릴 수 있다. [TRUNCATE] DDL..
1. 테이블 컬럼 추가하기 (ALTER TABLE ADD) user_table 테이블에 user_name 컬럼을 추가하고 싶을 때 ALTER TABLE user_table ADD (user_name VARCHAR2(13)); 2. 테이블 컬럼 수정하기 (ALTER TABLE MODIFY) user_table 테이블에 user_age 컬럼을 NUMBER(3) 타입으로 수정할 때 ALTER TABLE user_table MODIFY (user_age NUMBER(3)); 3. 테이블 컬럼 삭제하기 (ALTER TABLE DROP) user_table 테이블에 user_name 컬럼을 삭제할 때 ALTER TABLE user_table DROP COLUMN user_name; 4. 테이블 컬럼 이름 변경하기 ..
ajax란? Asynchronous JavaScript and XML 약자 자바스크립트를 이용해서 비동기식으로 서버와 통신하는 방식. 꼭 xml을 이용할 필요는 없고, 최근에는 json을 더 많이 이용한다. $.ajax(settings) 으로 사용한다. data : 서버에 전송할 데이터, key/value 형식의 객체 dataType : 서버가 리턴하는 데이터 타입 (xml, json, script, html) type : 서버로 전송하는 데이터의 타입 (POST, GET) url : 데이터를 전송할 URL success : ajax통신에 성공했을 때 호출될 이벤트 핸들러 - 예제 data에 담긴 POST 형식의 데이터를 url로 전달하고, json 타입으로 리턴받는다. 통신에 성공했을 시 반환 받은 j..
폼이란? 서버로 데이터를 전송하기 위한 수단이다. - .focus() | .blur() | .change() | .select() input 엘리먼트에 focus가 갔을 떄 focus input 엘리먼트에 focus가 사라졌을 때 blur input 엘리먼트의 값이 변경되었을 때 alert창이 뜬다. input 엘리먼트의 값이 선택됐을 때 select - .submit() | .val() form 태그에 submit이 일어났을 때, 만약 input 엘리먼트의 첫번째 = 의 값이 correct일 경우 Validated... span 값을 변경하고 return true; 를 통해 submit이 완료된다. (form action 실행) 만약 input 엘리먼트의 첫번째 = 의 값이 correct가 아닐 경우 ..
jQuery는 엘리먼트를 제어하는 일관되고 풍부한 기능들을 제공한다. - 자식으로 삽입 (.append()) I would like to say: 결과 I would like to say: Hello - 형제로 삽입 (.after()) I would like to say: 결과 I would like to say: Hello - 부모로 감싸기 (.wrap()) Span Text What about me? Another One 결과 Span Text - 삭제 (.remove()) Hello how are you? Call remove() on paragraphs 버튼을 누를 시 p 태그를 모두 삭제한다. - 치환 (.replaceAll(), .replaceWith()) Hello cruel World 결과..
event란? 시스템에서 일어나는 사건을 의미한다. (클릭, 마우스 이동, 타이핑, 페이지 로딩 등 ..) jQuery의 이벤트 크로스 브라우징의 문제를 해결해준다. click, ready와 같이 다양한 이벤트 헬퍼(helper)를 제공한다. bind로 이벤트 핸들러 설치, unbind로 제거 ==> on, off로 대체 됨. - bind, unbind, trigger를 이용한 이벤트의 설치, 제거, 호출 function clickHandler(e){ alert('thank you'); } $(document).ready(function(){ $('#click_me').bind('click', clickHandler); // click_me id를 가진 엘리먼트를 click할 시 clickHandler ..
jQuery 메소드들은 반환값으로 자기 자신을 반환해야 한다는 규칙을 갖고 있다. 이를 이용해서 한번 선택한 대상에 대해 연속적인 제어를 할 수 있는데 이를 chain이라고 한다. jQuery $('#tutorial').attr('href', 'http://jquery.org').attr('target', '_blank').css('color', 'red'); 부분을 분해해보면 $('#tutorial') -> id가 tutorial인 엘리먼트를 선택해 .attr('href', 'http://jquery.org') -> href 속성 값을 'http://jquery.org'로 변경하고, .attr('target', '_blank') -> target 속성 값을 _blank로 변경하고, .css('color..