[Kor]
JSP 코딩시 기본사용 요소들을 정리한 파워포인트 입니다.
JSP 지시어, 스크립트 요소 들에 대해서 간략하게 정리했습니다.
[EN]
This PowerPoint is Summary of JSP
Summary of JSP Directive and JSP Scripting Elements
[Kor]
JSP 코딩시 기본사용 요소들을 정리한 파워포인트 입니다.
JSP 지시어, 스크립트 요소 들에 대해서 간략하게 정리했습니다.
[EN]
This PowerPoint is Summary of JSP
Summary of JSP Directive and JSP Scripting Elements
JSP 프로그래밍 #01 웹 프로그래밍
1.1 웹 (온라인 강의: https://youtu.be/qDZXXHhMr4A)
1.2 서블릿 (온라인 강의: https://youtu.be/a8hHeUhbz2k)
1.3 JSP(Java Server Page) (온라인 강의: https://youtu.be/Q4ezLP6KLwM)
1.4 프로그래밍을 위한 환경 설정 (온라인 강의: https://youtu.be/k2eR6gLULA8)
Java Memory 구조와 내용에 대해서 정리한 PPT 입니다.
회사에서, 서버가 메모리 누수가 발생하여 뻗는 사건이 생겨서 팀원들이 전부 공부를 해서 발표를 했습니다.
GC는 Heap 영역에서 일어납니다.
메서드 영역 : 클래스 놀이터 입니다.
힙 영역 : 생성된 객체 및 배열 놀이터 입니다.
스택 영역 : 메서드 놀이터 입니다.
자바스크립트 스터디 하면서, 발표했던 자료.
(각자 맡은 부분에 대한 개념 정리해서 발표)
JavaScript 중요 개념인 실행컨텍스트와 클로저에 대해서 정리가 되어있다. (업로드 하면서 다시 봤는데. 여전히 어렵고 헷갈린다)
실행컨텍스트는 자바스크립트에 실행환경 등의 정보를 확인하는 도구로 이해하면 된다.
- 참조 : 인사이드 자바스크립트
REST에 대한 내용을 정리한 PPT 입니다.
많은 내용이 있지만 축약 또는 이해되는 내용만 정리를 하려고 하다보니 빠진 부분이 있을 수 있습니다.
REST는
1. URI와 HTTP Method를 이용해 객체화된 서비스에 접근하는 것.
2. HTTP URI로 잘 표현된, 리소스에 대한 행위를 HTTP Method에 정의 리소스에 내용은 json, xml, yaml 등의 다양한 언어로 정의.
3. 하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다는 개념.* REST는 표준이 아님 + REST는 프로토콜이 아님.
결론적으로 REST API를 사용하는 궁극적인 목적은
서로 다른 플랫폼(OS, 개발언어)에서 데이터를 주고받기 위해서와 범용 인터페이스(HTTP/URI)를 만들어서 각 API를 독립적으로 배포하기 위함이다.
객체지향에 관련해서, 가볍게 내용을 정리하였습니다.
참고서적 : 스프링 입문을 위한, 자바 객체 지향의 원리와 이해 김종민 지음
객체지향.
말은 참 어려운데. 프로그래밍 하면서 사람이 인식하는 사물 또는 실체를 하나하나 조합해서 프로그래밍 하자는 패러다임입니다.
쉽게, 객체를 가지고 놀자 이겁니다.
객체지향언어에서는
클래스(Class) 객체(Object)가 존재합니다.
클래스는 추상화 및 분류
객체는 실제를 의미합니다.
예) 사람클래스 -> 원빈 객체 / 동물 클래스 -> 고양이 객체
4대 특징
- 캡슐화
- 상속
- 추상화
- 다형성
객체지향 개념을 완벽히 이해하려면. 많이 공부해야 할거같습니다..ㅠㅠ
TDD 테스트 주도 개발이며, 하나의 개발 방법론 입니다.
- TDD는 반복 테스트을 이용한 소프트웨어 개발법이다. 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 소프트웨어를 구현한다.
- TDD의 목표는 작동하는 깔끔한 코드 “Clean code that works”
- TDD는 아래 단계의 반복으로 진행된다.
빨강 : 실패하는 작은 테스트 케이스를 작성한다. 처음에는 컴파일조차 안될 수 있다.
초록 : 테스트를 통과하는 코드를 작성한다.
리펙터링 : 테스트를 통과하기 위해 만든 코드의 모든 중복을 제거하고, 불명확한 것을 명확히 한다.
이러한 단계로 인해 TDD는 “업무 코드 작성 전에 테스트 코드를 먼저 만드는 것”으로 정의되기도 한다
Spring Framework 에서 중요한 개념인 DI(의존성 주입)에 대해서, 정리하였습니다.
DI(Dependency Injection) 란?
- 스프링 IoC 컨테이너 핵심 개념 중 하나
- 다양한 프레임워크에 이미 적용되어 있는 기능
- 객체 간의 의존 관계를 외부의 조립기가 관리
- 불필요한 의존 관계를 없애거나 줄일 수 있음
- 단위테스트 수행 수월
- 설정파일과 애노테이션을 이용하여 객체 간의 의존 관계를 설정
- 각 객체를 빈(bean)으로 관리
3. 001/웹서버
웹서버란?(정적 서버 컨텐츠를 수행)
소프트웨어와 하드웨어로 구분.
하드웨어 = Web서버가 설치되어 있는 컴퓨터를 의미.
소프트웨어 = 클라이언트로 부터 HTTP 요청을 처리하는 컴퓨터 프로그램을 의미.
(클라이언트 HTTP 요청(Request) [GET, POST, DELETE, PUT 등] 에 대해 어떤 결과(Response)를 돌려주는 기능.)
웹서버는 HTTP 요청을 처리하므로, HTTP 프로토콜을 기반으로 하여 클라이언트의 요청을 서비스 하는 기능을 담당.
- Apache, IIS(Internet Information Server), WebtoB 등
4. WAS란?(동적 서버 컨텐츠를 수행)
WAS(Web Application Server) 라고 이야기 하며, WAS는 웹서버와 웹 컨테이너의 결합으로
다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버를 이야기 한다.
- 웹 서버 + 웹 컨테이너(영어권에서는 Application Server로 불린다)
- 가장 많이 사용하는 WAS는 BEA사의 Web Logic, IBM사의 Web Sphere, T-max사의 Jeus, Tomcat, Redhot사의 JBoss 등
이 있다.
- J2EE 스펙을 구현한 서버(JSP / Servlet Container와 EJB Container 로서의 기능)
- Tomcat은 JSP / Servlet Container의 기능을 구현했으나 EJB Container로서의 기능은 없다. 따라서, Tomcat은 WAS가 아니
라는 사람들도 있다.
* J2EE : Java 2 Enterprise Edition 엔터프라이즈 환경을 위한 도구로 EJB, JSP, Servlet, JNDI같은 기능을 지원하며 웹 애플리케이션 서버를 이
용하는 프로그램 개발시 많이 사용
002/WAS
5. WAS에서 의미하는 Container(컨테이너)
- JSP와 서블릿을 이용하는 웹 응용 프로그램은 자바 언어를 이용해서 작성할 수 있는데, JSP와 서블릿을
실행시킬 수 있는 소프트웨어를 웹 컨테이너(Web Container) 혹은 서블릿 컨테이너(Servlet Container)라
고 한다.
- Servlet 컨테이너, JSP 컨테이너, EJB 컨테이너 등의 종류가 있으며, 대표적인 웹 컨테이너로는 자카르타,
톰캣(JSP), RESIN, Web Logic, WebtoB 등이 있다.
- 웹 서버에서 JSP를 요청하면 톰캣에서는 JSP 파일을 서블릿으로 변환하여 컴파일을 수행하고, 서블릿의
수행결과를 웹 서버에서 전달하게 된다.
002/WAS
6. Final/차이점은?
웹서버와 WAS의 차이점
웹서버 : HTML문서같은 정적 컨텐츠를 처리.
WAS : ASP, JSP, PHP 등 개발 언어를 읽고 처리하여 동적 컨텐츠, 웹 응용 프로그램 서비스를
처리.
-> 하지만, 요즘에 나오는 WAS는 웹 서버의 기능을 포함하고 있다.
-> 그럼 WAS만 쓰면 되지 왜? 웹서버도 쓰고, WAS도 쓸까?
이 둘의 목적이 다르기 때문. 웹서버는 정적인 HTML, 이미지와 같은 리소스를 처리하고 제공.
WAS는 동적인 처리를 담당하기 때문이다.