01. isNull() - isNull(null) = true - isNull("") = false - isNull(" ") = false - isNull("bob") = false - isNull(" bob ") = false PS : 문자열이 null인 경우 true를 반환 02. isEmpty() - isEmpty(null) = true - isEmpty("") = true - isEmpty(" ") = false - isEmpty("bob") = false - isEmpty(" bob ") = false PS : 문자열이 null이거 비어 있으면 true를 반환 03. isBlank() - isBlank(null) = true - isBlank("") = true - isBlank(" ") = t..
01. querySelector - 지정된 선택자와 일치하는 Document의 첫 번째 element를 반환. - 만약 일치하는 요소가 없다면 null을 반환. 02. querySelectorAll - 지정된 셀렉터 그룹에 일치하는 Document의 element list를 나타냄. 즉 NodeList를 반환. - 지정된 셀렉터가 없는 경우 비어있는 NodeList로 반환됨. 1. 단일 선택자 실행예제 1) click effect를 줄 요소에 id가 들어감 (clickEffect) 2) 따라서 한 개의 id 값에 이벤트를 줄 것이라면 querySelector를 사용하여 실행하면 된다. 2. 선택자 여러 요소를 줄 때의 실행예제 1) html에 선택자 여러개 주기 a. 만약 여러 요소에 click effe..
프로그램 실행 시 운영체제는 우리가 실행시킨 프로그램을 위해 메모리 공간을 할당함. 대표적으로 코드, 데이터, 힙, 스택 4가지가 있다. 01. 코드 (Code) - 실행할 프로그램의 코드가 저장되는 영역. - 기계어의 형태로 저장, 컴파일 타임에 결정되고, 중간에 코드를 바꿀 수 없게 Read-Only로 지정. - 텍스트 영역이라고 불린다. - CPU는 코드 영역에 저장된 명령을 하나씩 가져가서 처리. - 프로그램이 시작하고 종료될 때 가지 메모리에 계속 남는다. 02. 데이터 (Data) - 전역변수, static(정적) 변수가 저장되는 영역. - 전역변수, static 값을 참조한 코드는 컴파일 하고 나면 Data 영역의 주소값을 가르키도록 바뀐다. - 실행 중도에 전역변수가 변경될 수 있으니 이 ..
* 톰캣 기본 폴더구조 * Tomcat.../context.xml, server.xml 구조 * context.xml에 대해 1) Context란 - Context 설정은 톰캣에서 구동되는 하나의 웹 어플리케이션 자체의 설정을 의미한다. 주요 설정으로 ContextPath, Application 디렉토리 설정이 있다. 톰캣이 요청을 받으면 Catalina가 요청에 맞는 Context를 찾고, Context는 자신이 설정된 어플리케이션의 deployment description file(web.xml)을 기반으로 전달받은 요청을 서블릿에게 전달하여 처리 되도록 한다. 서버실행시 읽는 순서 : request -> Catalina -> Context -> servlet -> response 2) Context..
1. JPA (Java Persistent API)와 ORM (Object Relational Mapping) 1) JPA - 자바 ORM 기술에 대한 API 표준 명세를 의미합니다. - ORM을 사용하기 위한 인터페이스를 모아둔 것이며, JPA를 사용하기 위해서는 JPA를 구현한 Hibernate, EclipseLink, DataNucleus 같은 ORM 프레임워크를 사용해야 합니다. 2) ORM - 객체와 DB의 테이블이 매핑을 이루는 것을 말합니다. 즉 객체가 테이블이 되도록 매핑 시켜주는 것을 말합니다. - ORM을 이용하면 SQL Query가 아닌 직관적인 코드(메서드)로서 데이터를 조작할 수 있습니다. - 예를들자면, Member라는 이름을 가진 테이블의 데이터를 출력하기 위해서 보통 Sele..
SSL - Secure Socket Layer의 약자. - 프로토콜은 처음에 Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들었습니다. - Certificate Authority(CA)라 불리는 서드 파티로두터 서버와 클라이언트의 인증을 하는데 사용됩니다. 일반적으로 네트워크상에서 데이터 혹은 신원에 대한 정보를 보호하기 위해서 암호화 방식을 많이 사용합니다. 그렇다면 단순히 암호화한다고 해서 안전하다고 할 수 있을지? 그렇지 않습니다. 단순 암호화만을 통해 잘못 설계된 프로토콜의 경우 재생을 통해 공격당할 수 있습니다. 그 내용은 모르더라도 관찰된 통신 내용을 동일하게 재생하면 동일한 결과를 얻을 수 있는 것입니다. 따라서 단순한 암호화 외에 암호화 통신을 할 때 여러가지 정보를 포함하여..
01. 이벤트 - 이벤트란 모든 행위를 말하는 것으로 프로그램에서는 미리 사용자의 행위를 예측하여 미리 사용할 수 있도록 이벤트 를 많이 준비해 놓고 있습니다. - 예를 들어 사용자가 마우스를 클릭합니다. 그러면 사용자가 클릭했다는 것을 알려줍니다. 클릭했을때 어떤 동작을 하기 위해서 click 이벤트가 준비되어 있습니다. - 이게 없다면 우리는 사용자가 마우스를 클릭했는지 부터 알아내고 그 다음 작업을 할 수 있을 것입니다. 이것이 일 종의 이벤트입니다. 02. 이벤트 핸들러 - 이벤트와 우리가 준비한 프로그램을 연결해 주는 역할을 합니다. - 우리가 해야할 일은 이벤트가 일어났을 때 수행할 작업을 준비하고 이벤트 핸들러에게 그 일을 하도록 연결해 주면 됩니다. 03. 이벤트 핸들러에 연결하는 방법 1..
01. Ajax의 개념 Ajax는 Javascript의 라이브러리중 하나이며 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자 입니다. 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만 을 위한 데이터를 로드하는 기법이고, Ajax를 한마디로 정의하자면 JavaScript를 사용한 비동기 통신, 클라이언트와 서버 간에 XML 데이터를 주고받는 기술이라고 할 수 있습니다. 02. 비동기(async)방식이란? 비동기 방식은 웹페이지를 리로드하지 않고 데이터를 불러오는 방식입니다. 이 방식의 장점은 페이지 리로드의 경우 전체 리소스를 다시 불러와야하는데 이미지, 스크립트, 기타 코드 등을 모두 재요청..
- HTTP 프로토콜을 이용해서 서버에 무언가를 전달할때 사용하는 방식입니다. 01. GET - 가져오는 것. - URL (주소줄) 값에 ?뒤에 데이터가 Key, Value쌍으로 이어붙어서 보내집니다. - ex) hamdi.tistory.con?id=seung&page=2&type=stts - 위에서 본 ex와 같이 데이터가 여러개일때 &로 구분이 됩니다. - URL에 데이터가 노출되어 보안에 취약합니다. - 전송하는 길이에 제한이 있습니다. - 데이터를 Header에 포함하여 전송합니다. - URL에 이어 붙기때문에 길이제한이 있어서 많은양의 데이터는 보내기 어렵습니다. - Select적인 성향. 서버에서 어떤 데이터를 가져와서 보여주는 용도로 많이 쓰입니다. - HTTP/1.1 스팩인 RFC2616의..
웹에서 쿠키와 세션을 사용하는 이유? - HTTP 프로토콜의 특징이자 약점을 보완하기 위해서 사용합니다. 1) Connectionless 프로토콜 (비연결지향) - 클라이언트가 서버에 요청(Request)을 했을 때 그 요청(Request)에 맞는 응답(Response)을 보낸 후 연결을 끊는 처리 방식입니다. 2) Stateless 프로토콜 (상태정보 유지 안함) - 클라이언트의 상태 정보를 가지지 않는 서버 처리 방식입니다. - 클라이언트와 첫번째 통신에서 데이터를 주고 받았다 해도, 두번째 통신에서 이전 데이터를 유지하지 않습니다. 01. Cookie (쿠키) 개념 - 쿠키는 클라이언트 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일입니다. - 위에 말한 로컬이 사용자의 컴퓨터를 이야기합니다...