목록Web (14)
코딩하는 바나나

Servlet WAS에서 동작하는 어플리케이션을 Java Web Application이라고 한다. Java Web Application은 html,css, 자바클래스, servlet, jsp 등등을 포함한다. Servlet은 동적인 처리를 할때 사용이 된다. Servlet 3.0이상은 web.xml파일을 사용하지 않고 자바 어노테이션 기반으로 사용 Servlet 3.0미만은 web.cml파일에 여러가지 설정들을 한다. Servlet은 HttpServlet 객체를 사용한다. @WebServlet("/Helloservelet") public class Helloservelet extends HttpServlet { private static final long serialVersionUID = 1L; pub..

웹은 클라이언트와 서버로 구성되어있다. 클라이언트는 서버로 필요한 데이터를 요청하고 서버는 거기에 응답해 알맞는 데이터를 보내준다. 예전에는 개발자들이 데이터를 저장하고 읽어들이는 등의 코드를 직접 다 구현을 해야했다. 이런 불편함을 해소해주기 위해 DBMS라는 개념이 등장했다. DBMS의 예로 MYSQL, MARIADB 등이 있다. 이런 DBMS는 서버형태로 서비스 제공했기 떄문에 보통 DBMS에서 데이터를 받아와 클라이언트에서 로직을 수행하는 방식으로 프로그램이 많았다. 하지만 이런 방식은 클라이언트의 크기가 너무 커지고 로직 변경시에 클라이언트가 매번 배포되어야한다는 문제가 있었다. 그래서 나온것이 미들웨어라는 개념이다. 미들웨어는 DBMS와 클라이언트 사이에서 로직을 수행하는 서버이다. 클라이언트..

Ajax 통신은 웹에 데이터를 갱신 할 때 웹페이지를 새로고침하지 않고 일부 데이터만 서버로 부터 불러오기 위해 사용된다. 네이버 같은 사이트에 들어가면 이렇게 메뉴가 있고 메뉴를 누를때마다 내용이 바뀌는 UI를 본적이 있을 것이다. Ajax를 사용하지 않으면 누르지도 않은 메뉴를 서버로 부터 불러와야해서 로딩시간이 오래 걸린다. Ajaxs는 Asynchronous JavaScript And XML의 줄인말인데 여기서 XML도 데이터 형식으로 자바스크립트를 이용해서 비동기로 통신을 한다는 뜻이다. 여기서 일반적으로 Ajax통신을 할떄 XML을 사용 할 수도 있지만, 일반적으로는 JSON형식을 사용한다고한다.이름을 약간 잘못 지은것 같다. 비동기식으로 통신을 한다는 것은 서버로 request를 보냈을 때 ..

브라우저는 Html 파일을 트리형태로 저장한다. 따라서 우리가 이 태그들을 자바스크립트에서 사용하려면 트리에서 탐색 알고리즘을 구현해야한다. 하지만 자료구조 배울때 느꼈지만 탐색 알고리즘짜기는 너무 힘들다. 그래서 브라우저들은 DOM API를 제공한다. 우리는 이 API를 통해서 태그들을 찾고 태그들의 속성값을 변경하는 등의 작업을 할 수 있다. 일단, Htm문서의 최상단의 부모는 document라 한다. 우리는 이 document로 부터 원하는 태그를 찾아야한다. 위와 같이 document를 치면 아래 여러함수가 뜨는 것을 볼 수있다. 함수 이름을 보니 태그의 Id, Class, 이름 등등으로 태그를 찾을 수 있다. 또 queryselector로도 찾을 수 있는 함수도 있다. 지금은 클래스 명으로 찾아..
자바스크립트 엔진은 두가지 주요 요소로 이루어져 있다. 1. 메모리 힙 (Memory Heap) - 변수, 객체 등 모든 메모리 할당이 발생 하는 곳. 2. 호출 스택 (Call Stack) - 코드가 실행될 때 함수가 쌓이는 곳. 기본적으로 자바스크립트는 한번에 하나의 작업만 처리 할 수 있다. 따라서 호출 스택을 이용해 현재 코드가 실행 되고 있는 곳을 기억한다. 우리가 함수를 호출하면 호출 스택에 푸쉬되고 함수가 반환되면 호출 스택에서 팝된다. function name(str) { return "my name is" + str; } function printName(x) { console.log(x); } printName("babo"); 예를 들어 위와 같은 코드에서는 호출 스택에 다음과 같이 쌓..

호이스팅이란? 함수안에 있는 선언문들을 모두 해당 함수의 최상단에 선언하는 것을 말한다. console.log(a); var a = 10; 따라서 위와 같은 코드를 실행하면 에러가 날 것 같지만 실행이 된다. 이때 undefined가 출력된 것으로 보아 a의 값은 undefined로 초기화 되어 있는 것을 알 수 있다. var a = undefined; console.log(a); a = 10; 즉 이렇게 코드가 실행되는 것이다. 함수의 선언의 경우는 hi("hi"); function hi(arg) { console.log(arg); } 위와 같이 함수를 선언하기 전에 함수를 불러와도 실행이 된다. 함수도 정상적으로 hi가 출력이 되는 것을 보아 함수안의 내용도 함께 초기화가 되는 것을 알 수 있다. f..