목록분류 전체보기 (89)
가희의자기개발블로그
on("click") 과 click()의 차이점은 동적으로 이벤트를 바인딩할 수 있는지의 차이다. on("click")은 동적으로 가능하고 click()은 최초에 선언된 element에만 동작한다. 1_click()이벤트 MENU1 MENU2 MENU3 위 코드에서 아무 li 태그에 click()이벤트를 발생시키면 $("#myTask").children().click(function(){ $(this).remove(); }); 해당 li태그가 remove()된다. 여기서 아래 소스처럼 동적으로 새로운 li태그를 추가한 뒤 click()메소드를 실행하면 동작하지 않는다. 왜냐하면 click()이벤트는 최초에 페이지를 로딩할 때 선언되어 있던 element에 이벤트를 바인딩하고 나서는 더이상 동적으로 바인딩..
1_JSESSIONID 란? 톰캣 컨테이너에서 세션을 유지하기 위해 발급하는 키이다. 즉, 세션에서 사용되는 쿠키이름이다. 쿠키는 클라이언트에 그리고 세션은 서버에 저장되는 걸로 알고있는게 일반적이고, 그러므로 쿠키보단 세션이 보안에 좋다고 이전에 공부했다. 하지만 세션 또한, 쿠키 형태로 서버와 클라이언트간에 주고 받는다. HTTP 프로토콜은 stateless(무상태)하다. 즉, 상태정보를 유지하지 않는다는 말로, 사용자는 매번 서버에 요청을 할때마다 응답을 받는 순간 연결을 끊어버리고 서버의 입장에서는 요청을 하는 사용자가 누구인지 알지 못한다. 따라서 톰캣은 JSESSIONID 쿠키를 클라이언트에게 발급해주고 이 값을 통해 세션을 유지 할 수 있게 한다. 사실 이 방법 외에도 , URL Rewrit..
https://www.acmicpc.net/problem/2875 2875번: 대회 or 인턴 문제 백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.) 백준대학교는 뛰어난 인재들이 많아 www.acmicpc.net 6월 25일차 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); // 여학생수 int m = scan.nextInt(); // 남학생 수 int k = scan.nextInt(); /..
마이바티스 자바 API는 JDBC와 비교해보면 코드를 단순하고 깔끔하게 만든다. 이해하기 쉬워서 유지보수도 쉽다. 1_디렉터리 구조 자바 API를 살펴보기 전에 디렉터리 구조에 대해 전반적으로 이해하는 것이 중요하다. 마이바티스는 매우 유연하고 파일을 사용해서 어떤 것도 할 수 있다. 하지만 프레임워크이기 때문에 선호하는 방법이 있다. 전형적인 애플리 케이션 디렌터리 구조를 살펴보자 /my_application /bin /devlib /lib
노드를 대량으로 추가하거나 삭제해야 하는 경우는 노드 내용을 직접 변경하는 방법을 사용한다. 01_소개 노드 내용이란? 노드 내부에 들어 있는 마크업 노드와 텍스트 노드 정보를 문자열로 표현하는 것을 의미한다. 노드 내용은 서버에 보내거나 노드를 다루기 위한 용도로 많이 사용한다. 02_노드 내용을 문자열로 읽기 $대상.html() $대상.text() 노드 내용을 알아내는 방법은 html() 메소드와 text()메서드 두 가지가 있다. 이 둘은 차이점이 있다. html() 메서드를 이용하면 특정 노드의 내부 내용을 마크업까지 확인 할 수 있다. 주의해야 할 사항이 있는데 html()메서드 결과는 자바스크립트 DOM객체가 아닌 단순한 문자열이라는 점이다. 또, 노드 내용에는 자신의 태그 저보는 포함하지 않..
01_소개 노드 삭제 방법 역시 노드 이동과 동일하게 가장 먼저 할 일은 제거할 노드를 찾는 것이다. 그 다음 노드를 제거해야 한다. 02_특정 노드 삭제 $대상.remove() 특정 노드를 삭제하고 싶은 경우 remove()메서드를 이용한다. 02_모든 자식 노드 삭제 $대상.children().remove() 자식 노드를 모두 삭제할 때에도 remove()메서드를 사용한다. 덧붙여 설명하자면 사실 remove()는 특정 노드를 삭제하는 용도이지 내부를 비우는데 사용하기에는 적합하지 않다 이 경우 실무에서는 html()을 이용한다. $("ul").html("");
01_소개 노드 이동은 노드 추가와 동일한 append() appendTo(), insertAfter() after() insertBefore() before() 메서드를 사용하며 방법 역시 거의 동일하다. 차이점이라면, 사용하는 메서드에 넘겨주는 매개변수 값이 신규 노드라면 추가가 되고 기존 노드라면 이동된다. 01_1첫번째 자식 노드로 이동 $부모노드.prepend($이동노드) $이동노드.prependTo($부모노드) 기존 노드를 특정 노드의 첫번째 자식 노드로 이동하고 싶은 경우 신규 노드 추가에서 사용한 prepend()또는 prependTo() 메서드를 이용한다. 01_2 마지막번째 자식 노드로 이동 $부모노드.append($이동노드) $이동노드.appendTo($부모노드) append()와 a..
01_노드 생성 var $신규노드=$("신규DOM"); JQuery에서 노드를 생성하는 가장 일반적인 방법은 $()함수를 이용하는 것이다. $() 함수 내부에서는 매개변수로 받은 태그 노드 정보를 파싱해 태그와 1:1대응하는 HTMLElement객체를 생성하는 작업이 일어난다. 이렇게 만들어진자바스크립트 dom객체를 좀더 쉽게 사용할 수 있는 jQuery객체를 만들어 반환해준다. 02_신규 노드를 첫 번째 자식 노드로 추가 $부모노드.prepend($추가노드) $추가노드.prependTo($부모노드) 신규 노드를 특정 노드의 첫 번째 자식 노드로 추가하는 방법은 prepend()와 prependTo() 두 가지 방법이 있다. 이 두 메서드는 사용법에서 알 수 있는 것처럼 부모 노드와 추가 노드 위치가 다..