전체 글388 [Servlet] 서블릿을 이용한 mvc1패턴과 mvc2패턴 MVC 패턴이란? Model-View-Controller의 약자로 애플리케이션을 세 가지 역할로 구분한 개발 방법론 모델(Model) : 비즈니스 영역의 로직을 처리 뷰(View) : 비즈니스 영역에 대한 프레젠테이션 (즉, 사용자가 보게 될 결과 화면)을 담당 컨트롤러(Controller) : 사용자의 입력 처리와 흐름 제어를 담당 MVC1 패턴 (MVC1 Pattern) 즉, Controller 영역에 View 영역을 같이 구현하는 방식이며, 사용자의 요청을 JSP가 전부 처리한다. 요청 받은 JSP는 JavaBean Service Class를 사용하여 웹브라우저 사용자가 요청한 작업을 처리하고 그 결과를 출력 Model1 구조의 장단점 장점 단점 구조가 단순하며 직관적이기 때문에 배우기 쉽다 출력을.. 2023. 8. 8. [Servlet] 서블릿 컨테이너 정의 및 역할, HTTP 요청 처리 순서 서블릿 컨테이너란? 서블릿을 담고 관리해주는거. 구현되 있는 서블릿 클래스의 규칙에 맞게 서블릿을 관리하며 클라이언트의 요청을 받으면 HttpServletRequest와 HttpServletResponse 객체를 생성하여 post, get 여부에 따라 동적인 페이지를 생성해 응답한다. Tomcat (서블릿 컨테이너) 공식적으로 인정된 Servlet / JSP Container 중 가장 인기 있는 Servlet Container 중 하나는 Tomcat이다. https://tomcat.apache.org/ Apache Tomcat® - Welcome! The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jak.. 2023. 8. 8. 서블릿(Servlet)과 CGI ( Common Gateway Interface ) 차이 서블릿이란? 자바 프로그래밍을 사용한 웹 어플리케이션 서버에서 실행되는 동적 컨텐츠를 생성해내는 자바 기반의 웹 컴포넌트이며 servlet container에 의해 관리된다. 바이트 코드로 컴파일된 플랫폼 독립적인 자바 클래스로 서블릿 컨테이너에 의해 동적으로 로드되고 실행된다. 서블릿의 주요 특징 클라이언트의 Request에 대해 동적으로 작동하는 웹 어플리케이션 기존의 정적 웹 프로그램의 문제점을 보완해 동적인 여러 기능을 제공 JAVA의 스레드를 이용해 동작 MVC패턴에서 컨트롤러로 이용 컨테이너에서 실행 보안 기능을 적용하기 쉬움 CGI란? 대화식 웹 페이지를 실행할 수 있도록 웹 서버에서 외부 프로그램을 처리하는 인터페이스 웹 서버와 외부 프로그램간의 데이터를 주고받는 방법에 대한 규격 웹 서버.. 2023. 8. 8. [Servlet] 세션(Session)과 쿠키(Cookie) HTTP의 단점을 보안하기 위해서도 사용하며, 웹상에서 클라이언트의 상태를 유지하기 위한 방법으로 Session과 Cookie를 사용한다. Cookie란? ( 서버 -> 클라이언트 ) 서버가 클라이언트에 저장하는 정보로서 클라이언트 쪽에 필요한 정보를 저장해놓고 필요할 때 추출하는 것을 지원하는 기술 Servlet Container가 사용자 웹 브라우저에 key/value로 구성된 한 쌍의 텍스트 파일을 저장하는 방법 사용자 정보가 네트워크를 통해 서버와 클라이언트 사이에서 지속적으로 유지되기 때문에 네트워크의 부하를 초래 브라우저가 종료되는 순간에 같이 없어지지만, 만기일자를 설정함으로써 쿠키를 지속적으로 유지, 중단 CookieTest1 HTML 삽입 미리보기할 수 없는 소스 CookieTest2 H.. 2023. 8. 8. Servlet - 서블릿(실행 코드 방식)과 JSP(스크립트 방식) 실행 코드 방식 - 서블릿 (Servlet) 스크립트 방식 - JSP (JavaServer pages) HTML 문서 안에 Java 코드 포함 Java 코드 안에 HTML 코드 포함 JSP 특징 - 자바기반 스크립트 언어 : 자바의 기능을 그대로 사용 가능 - HTTP에 대한 클라이언트의 요청 처리/ 응답 - 웹 어플리케이션에서 결과 화면을 생성할 때 주로 사용 JSP를 사용하는 이유 - 자바 언어에 기반하기 때문에 플랫폼에 독립적 (리눅스, 윈도우 등 운영체제에 상관없이 동) - 스프링이나 스트러츠와 같은 프레임워크와 완벽하게 연동 스크립트의 3요소 동적으로 출력 결과를 생성하기 위해 사용 스크립트 릿 표현식 선언부 표현식(Expression) 값을 출력 스크립트 릿(Scriptlet) 자바 코드를 실.. 2023. 8. 8. HTTP 프로토콜의 특징 HTTP란? TCP / IP를 기반으로 한 지점에서 다른 지점으로 요청과 응답을 전송하는 프로토콜 Hyper Text Transfer Protocol로, TCP / IP 4계층에서 애플리케이션 계층에 해당하는 프로토콜로써, 전송계층에서 TCP를 사용하여 웹 브라우저와 웹 서버 간에 통신하는 프로토콜이다. HTTP는 비연결형과 무상태로 동작하는 프로토콜이라서 이전 연결 때의 상태정보를 서버가 유지해주지 않는다. 그러므로 상태정보를 일정 시간동안 지속해서 유지해주는 기술이 필요하다. 특징 상태가 없는(stateless) 프로토콜. 즉, 데이터를 주고 받기 위한 각각의 데이터 요청이 서로 독립적으로 관리 비 연결성 ( Connectionless ) 클라이언트 - 서버 구조 무상태 ( Stateless ) HT.. 2023. 8. 8. [HTML] 문자, 기호, 심볼, 앵커 알아보기 많이 사용되는 문자, 기호 태그 태그를 사용하면 사용자가 입력한 그대로 출력이 가능하다. 그 밖의 html 태그들 앵커란? HTML 페이지 내의 특정한 위치로 이동하는 것. 으로 앵커 생성 앵커는 해당 링크 클릭시 id 값으로 갖는 곳으로 같은 페이지 내에서 이동한다. 2023. 8. 7. [React] 조건문과 반복문(map) , toggle 사용하기 조건문(삼항연산자) React는 JSX를 쓰기 때문에, JSX 문법을 사용해서 html과 js를 혼합해서 사용한다. JSX 내부의 자바스크립트 표현식에선 if문을 사용할 수 없다. 따라서 삼항연산자를 사용하게된다. 삼항연산자 조건식 ? 참 : 거짓 HTML 삽입 미리보기할 수 없는 소스 react 안에 있는 html 문법에서 if() 를 쓸 수는 없으므로, { } 안에 삼항연산자를 이용해 해당 기능을 대신 처리한다. 위 코드에서 useState를 사용해 모달 기능을 구현한 예시가 있다. 모달을 클릭하면 컴포넌트 예제 모달창이 나타났다 사라졌다 할 수 있게된다. 반복문(map) HTML 삽입 미리보기할 수 없는 소스 위와 같이 반복문 또한 { } 태그 안에 map을 사용해서 나타낼 수 있다. [1,2,3].. 2023. 8. 6. [React] Component 컴포넌트 사용하기 리액트에서 컴포넌트(Component)란? 앱을 이루는 최소한의 단위. 즉, DOM 구조를 만드는 틀이다. 컴포넌트를 사용하여 MVC 뷰를 독립적으로 구성해 재사용할 수 있고, 이를 통해 새로운 컴포넌트를 손쉽게 제작할 수 있다. HTML 삽입 미리보기할 수 없는 소스 이렇게 만들어진 코드가 있다. 하지만 react에서 html을 계속 이런식으로 그리면 가독성이 떨어질 수 있다. 따라서 한줄로 요약해보고자 한다. HTML 삽입 미리보기할 수 없는 소스 컴포넌트 이름은 항상 대문자로 시작해야한다. ( Why ? 리액트는 소문자로 시작하는 컴포넌트를 DOM 태그로 취급하기 때문) 1) 함수형 Component 위와 같이 function 함수가 끝난 뒤 바로 아래에 Component 함수를 만들어 App 함수.. 2023. 8. 6. [DB] 정규화(Normalization) 정규화 (Normalization) 논리적 설계 단계에서 발생할 수 있는 종속으로 인한 이상 현상의 문제점을 해결하기 위해 속성들 간의 종속 관계를 분석해 여러 개의 릴레이션으로 분해하는 과정 1 정규형 - 한 릴레이션을 구성하는 모든 도메인이 원자 값 만으로 구성되도록 하는 정규형 박순신과 김길동은 한 명의 회원이 여러 과목을 수강하고 있다. 그런데 박순신 회원과 김길동 회원에 대해 중복되는 속성값, 회원번호, 성명, 연락처에 해당하는 튜플을 하나로 합쳐냈다. DB에서는 검색,삽입,삭제 등 여러 작업이 튜플 단위로 이루어지기 때문에 박순신, 김길동 회원처럼 튜플을 하나로 합쳐 표현하면 원활하게 수행되지 못한다. 따라서 테이블 각각의 튜플로 구성되도록 회원정보를 나타내는 회원테이블과 수강과목에 대한 정보.. 2023. 8. 3. [DB] 데이터베이스의 특징, 키(Key), 이상 현상, 함수 종속 데이터베이스란? 어느 한 조직에서 업무 처리를 위해 다수의 응용시스템 혹은 다수의 사용자들이 공용으로 사용하기 위한 통합 저장된 운영 데이터의 집합이다. 통합 데이터 - 하나의 주제에 따라 중복을 최소화한 데이터 집합 저장 데이터 - 사용자나 응용 시스템이 필요 시 언제든지 이용할 수 있도록 저장된 데이터 집합 공용 데이터 - 여러 사용자와 다수의 응용 시스템이 공유할 수 있도록 만든 데이터 집합 운영 데이터 - 중복을 최소화하고 여러 사람이 공유함에 있어 문제가 발생하지 않도록 관리를 필요로하는 데이터 특징 계속적인 변화 동시공유 실시간 접근 내용에 의한 참조 구성요소 개체 (Entity) - 실세계에 존재하는 유형 혹은 무형 정보의 대상이며 서로 구별되는 하나하나의 대상. 속성 (Attribute) .. 2023. 8. 2. [SQL] 분석함수(윈도함수) OVER( ), PARTITION BY, ORDER BY 분석함수(윈도함수)란? 특정 데이터 집합에 대해 계산을 수행하고 그 결과를 각 행에 출력하는 함수이다. OVER( PARTITION BY ORDER BY ) OVER를 사용하여 테이블 쭉 더하고 개수세서 조회 OVER는 SQL에서 사용되는 윈도우 함수와 함께 사용되는 절이다. OVER절은 윈도우 함수에 적용할 파티션과 정렬 순서를 지정하는데 사용된다. 현재 위 쿼리에서는 COUNT(HEIGHT) OVER( ORDER BY STUDNO) SUM(HEIGHT) OVER(ORDER BY STUDNO) 이 두개를 사용해서 COUNT는 누적으로 1개씩 갯수 증가, SUM은 이전 의 합에 누적해서 쌓아가는 것을 확인할 수 있다. PARTITION BY를 사용하여 분석함수 적용 PARTITION BY는 SQL에서 사.. 2023. 8. 2. 이전 1 ··· 7 8 9 10 11 12 13 ··· 33 다음