good_da22 's devLog

web 20

Cookie & Session

Coikie & Session 저장공간, Session은 sever, Cookie는 browser http protocol 특징 client가 serer에 요청 server는 요청에 대한 처리 후 client에 응답 응답 후 연결 해제 >>> stateless : 이전 처리 결과를 기억하지 않고 상태가 없다. 지속적인 연결로 인한 자원낭비를 줄이기 위해 연결을 해제 그러나 client와 server가 연결 상태를 유지해야 하는 경우 문제 발생(ex. 로그인 정보) 즉, client 단위로 상태 정보를 유지해야 하는 경우 Cookie와 Session이 사용 >> statefull HTTP proticol의 특징(약점)을 보완하기 위해 사용 Cookie javax.servlet.http.Cookie 서버에서..

Back-End/Web Server 2022.09.20

EL (Expression Language)

EL (Expression Language) EL 은 표현을 위한 언어로 JSP 스크립트의 표현식을 대신하여 속성 값을 쉽게 출력하도록 고안된 language 표현식 대체 가능 EL 표현식에서 도트 연산자 왼쪽은 반드시 java.util.Map 객체 또는 Java Bean 객체여야 한다. EL 표현식에서 도트 연산자 오른쪽은 반드시 맵의 키이거나 Bean의 프로퍼티여야 한다. EL 에서 제공하는 기능 JSP의 네가지 기본 객체가 제공하는 영역의 속성 사용 자바 클래스 메소드 호출 기능 표현 언어만의 기본 객체 제공 수치, 관계, 논리 연산 제공 EL 문법 EL에서는 Dot 표기법 외에 [] 연산자를 사용하여 객체의 값에 접근할 수 있다. [] 연산자 안의 값이 문자열인 경우, 맵의 키가 될 수도 있고, ..

Back-End/Web Server 2022.09.20

JSP (Java Server Page)

JSP (Java Server Page) 자바 서버 페이지(Java Server Page, JSP) 는 HTML 내 Java 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어 JavaEE 스펙 중 일부로 웹 애플리케이션 서버(WAS)에서 동작 JSP는 실행 시 Java Servlet으로 변환된 후 실행, 서블릿과 거의 유사 서블릿과 달리 HTML 표준에 따라 작성되므로 웹 디자인에 편리 1999년 썬 마이크로시스템즈에 의해 배포, 이와 비슷한 구조로 PHP, ASP, ASP.NET 등이 있다. 아파치 스트럿츠, 자카르타 프로젝트의 JSTL 등 JSP 태그 라이브러리르 사용하는 경우 Java 코딩 없이 태그만으로 간략히 기술이 가능, 생산성 향상 가능 JSP 동작 흐름..

Back-End/Web Server 2022.09.19

Servlet

Servlet 자바 서블릿(Java Servlet)은 자바를 사용하여 웹 피이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며 서블릿으로 불린다. 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종 JSP와 비슷한 점이 있지만 JSP는 HTML 문서 안에 Java 코드를 포함 서블릿은 자바 코드 안에 HTML을 포함하는 차이점 존재 Web Brower(Client)에서 요청(request)를 받아 Web Application Server 안에서 작동 data를 얻고 Business logic 수행(JDBC를 사용하여 DB에 접근) 후 reponse page를 작성하여 응답(reponse) Servlet API 사용자 정의 서블릿의 상속 구조 Servlet Life-cycle Serv..

Back-End/Web Server 2022.09.19

AJAX

AJAX(Asynchronous Javascript And XML) Ajax(Asynchronous Javascript And XML)은 언어나 프레임 워크가 아닌 구현하는 방식을 의미 AJax는 웹(Web)에서 화면을 갱신하지 한고 데이터를 서버로부터 가져와 처리하는 방법을 의미 JavaScript의 XMLHttpRequest(XHR) 객체로 데이터를 전달하고 비동기 방식으로 결과를 조회 화면 갱신이 없으므로 사용자 입장에서는 편리하지만, 동적으로 DOM을 구성해야 하므로 구현이 복잡 일반 요청에 대한 응답 data를 입력 후 event 발생 Ajax를 적용하지 않은 요청은 서버에서 data를 이용하여 logic 처리 logic 처리에 대한 결과에 따라 응답 page를 생성하고 client에 전송(화면..

Event & Web Storage

이벤트(Event) 웹 페이지에서 여러 종류의 상호작용이 있을 때 마다 이벤트가 발생 사용자가 마우스를 클릭했을 때, 키보드를 눌렀을 때 등, 다양한 종류의 이벤트가 존재 JavaScript를 사용하여 DOM에서 발생하는 이벤트를 감지하여 이벤트에 대응하는 여러 작업 수행 이벤트는 일반적으로 함수와 연결이 되고, 함수는 이벤트가 발생되기 전에는 실행되지 않다가 이벤트가 발생할 경우 실행 이벤트 핸들러(Event Handler) 또는 이벤트 리스너(Event Listener)라 하며 함수에 이벤트 발생시 실행해야 하는 코드 작성 이벤트 발생 종류 웹 페이지가 로딩되었을 때 페이지를 스크롤 했을 때 브라우저 창의 크기를 조절 했을 때 마우스를 클릭 했을 때 키보드로 키를 입력 했을 때 form이 submit..

BOM & DOM

Window 객체 window 객체는 웹 브라우저에서 작동하는 JavaScript의 최상위 전역 객체 window 객체에는 브라우저와 관련된 여러 객체와 속성, 함수가 존재 JavaScript에서 기본으로 제공하는 프로퍼티와 함수도 포함 (ex. Number 객체, setInterval() 함수 등) BOM(Browser Object Model)으로 불린다. window 객체 사용 alert, confirm, prompt window 객체의 함수를 호출하면 브라우저에서 제공하는 창을 open alert() : 브라우저의 알림 창 confirm() : 브라우저의 확인/취소 선택 창 prompt() : 브라우저의 입력 창 navigator navigator 객체는 브라우저의 정보가 내장된 객체 navigat..

JavaScript 기본 문법 2

JavaScript 기본문법 객체(Object) 객체는 이름과 값으로 구성된 프로퍼티의 집합 문자열, 숫자, boolean, null, undefined를 제외한 모든 값은 객체 JavaScript의 객체는 키(Key)와 값(Value)으로 구성된 프로퍼티(Prooerty)들의 집합 전역 객체를 제외한 JavaScript 객체는 프로퍼티를 동적으로 추가하거나 삭제 가능 JavaScript의 함수는 일급 객체이므로 값으로 사용할 수 있다. 따라서 프로퍼티의 값으로 함수를 사용 가능 JavaScript 객체는 프로토타입(prototype)이라는 특별한 프로터피를 포함 객체 생성 객체 리터럴 가장 일반적인 방법 { } 를 사용하여 객체를 생성. { } 내에 1개 이상의 프로터피를 추가하여 객체를 생성 Obje..

JavaScript 기본 문법 1

JavaScript 기본문법 주석(comment) 주석은 JavaScript 코드에 대한 부연 설명이므로 실행 코드에 포함되지 않는다. JavaScript 주석은 한 줄 주석(Line Comment)과 블록 주석(Block Comment)이 있다. 한 줄 주석은 //code로 표기하고, 블록 주석은 /* code */ 로 표기한다. 가능하면 블록 주석보다 라인 주석을 사용한다. 변수(varidable) JavaScript는 변수를 선언할 때 타입을 명시하지 않고 var keyword를 사용하여 선언 JavaScript는 동적타입(Dynamic / Weak type) 언어. 변수의 타입 지정없이 값이 할당되는 과정에서 자동으로 변수의 타입이 결정 같은 변수에 여러 타입의 값을 할당 가능 변수의 이름은 함수..

JavaScript

JavaScript 웹 페이지 이벤트 담당(동작) JavaScript는 프로토타입 기반의 스크립트 프로그래밍 언어로 객체지향 개념을 지원한다. 웹 브라우저가 JavaScript를 HTML과 함께 다운로드하여 실행 웹 브라우저가 HTML 문서를 읽어 들이는 시점에 JavaScript Engine이 실행된다. 대부분의 JavaScript Engine은 ECMAScript 표준을 지원한다. JavaScript는 HTML, CSS와 함께 웹을 구성하는 요소 중 하나로 웹 브라우저에서 동작하는 유일한 프로그래밍 언어 JavaScript는 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어 각 브라우저별 JavaScript 엔진(ex. Chrome의 V8 엔진...)은 인터프리터와 컴파일의 장점을 결합하여..