본문 바로가기

전체 글

JAVA 용어 정리 - 8 (Servlet, Bean) ** Servlet - 정의 : 클라이언트의 요청을 받고 그 결과를 반환해주는 자바의 프로그램 중 하나 (식당에서 주문한 음식을 서빙해주는 역할이라고 생각하면 쉽다) - 특징 1) 클라이언트의 요청에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트 2) HTML을 사용하여 요청에 응답한다 3) Java thread를 이용해 동작한다 4) MVC 패턴에서 Controller로 이용된다 * Servlet Container - 정의 : 클라이언트의 요청(Request)을 받아주고 응답(Response)할 수 있게, Web Server와 socket으로 통신하는 역할을 수행한다 (ex -> *Tomcat) - 역할 1) Web Server와의 통신 지원 -> Servlet과 web Server가 쉽게 통신할 수.. 더보기
JAVA 용어 정리 - 7 (Springboot - XML, JSON, YAML) * *XML(eXtensible Markup Language) 1) 정의 : 인터넷 웹페이지를 만드는 HTML을 획기적으로 개선하여 만든 언어(한 가지 대표적인 *Makeup language 로는 HTML이 있다) 2) 특징 : 기계 및 사람이 읽을 수 있는 방식으로 텍스트 서식을 지정하기 위한 일련의 규칙을 정의하는 마크업 언어이다 [*makeup language : 태그 등을 이용하여 문서나 데이터 구조를 표현하는 언어] ** JSON(Java Script Object Notation) 1) 정의 : 데이터를 저장 및 전송할 때 많이 사용하는 경량의 데이터 교환 형식 2) 특징 : JSON 표현식은 사람과 기계 모두 이해하기 쉽고 용량이 작아 최근에는 XML을 대체하여 데이터 전송에 많이 사용된다(X.. 더보기
JAVA 용어 정리 - 6 (HTTP, HTTPS) ** HTTP(HyperText Transfer Protocol) - 정의 : 서버와 인터넷 사이에 문서를 전송하기 위해 사용되는 통신 규약 - 요약 : 서버와 클라이언트의 사이에서 어떻게 메시지를 교환할지를 정해 놓은 규칙, 80번 포트를 주로 사용하며 요청(Request)과 응답(Response)으로 구성되어 있다. - 원리 : 클라이언트가 웹 페이지에서 링크가 걸려있는 텍스트를 클릭(Request, 요청)하면 링크를 타고 새로운 페이지로 넘어간다(Response, 응답) * HTTP method - CRUD(GET, POST, PUT, DELETE), *PATCH, *HEAD, *OPTIONS [*PATCH : 변경 가능한 리소스 부분을 업데이트에 사용하는 기능, PUT method를 사용한다] [.. 더보기
JAVA 용어 정리 - 5 (프로토콜) ** 프로토콜(Protocol) - 정의 : 서로 통신을 하기 위해 정한 규칙이나 규약 - 요약 : 컴퓨터(원거리 통신 장비)사이에서 메시지를 주고 받기위한 모든 규칙, 규약 (아래는 프로토콜에 규정에 필요한 것입니다) 1) 구문 : 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정 2) 의미 : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정 3) 시간 : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정 * 기능 - 캡슐화 : 각 프로토콜(약속)에 적합한 데이터 블록을 만들기 위해 정보를 추가 - 연결 제어 : 비연결 데이터 전송과 연결 위주 데이터 전송을 위한 통신로를 개선, 유지, 종결하는 기능 - 흐름 제어 : 데이터 양이나 .. 더보기
JAVA 용어 정리 - 4 (Rest API) ** REST API (REpresentational State Transfer API) 1. API(Application Programming Interface)란? - 정의 : *자원을 이름(*자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것 - 요약 : Client 측에서 Server에 맞는 규칙과 요건 등의 요청이 들어와야만 실행이 되는 API (콘센트 110V, 220V) [*자원 : 해당 소프트 웨어가 관리하는 모든 것 / 문서, 그림, 데이터 등] [*자원의 표현 : 그 자원을 표현하기 위한 이름 / DB -> 데이터베이스라는 이름으로 표현] 2. REST API의 정의와 개념 - 정의 : 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페.. 더보기
JAVA 용어 정리 - 3 (Spring framework) ** Spring -> Java와 Kotlin을 기반으로한 웹 프레임워크 2. Spring의 특성 - DI(Dependency Injection, 의존성 주입) 1) 정의 : class간 의존성 class를 외부에서 주입하는것 2) 특징 - 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능이 가능하다 - 객채를 직접 생성하지 않고 외부에서 생성한 후 주입 시켜준다 -> 의존성이 있다 : 한 클래스(A)에서 다른 클래스(B)를 사용한다 - IOC(Inversion of Control, 제어의 역전) 1) 정의 : 메소드나 객체의 호출작업을 개발자가 결정하는 것이 아니라 외부에서 결정되는 것 2) 특징 - 필요할 때마다 코드를 호출하여 작업이 가능하다 - 스프링 컨테이너에 Bean(객체)를.. 더보기
JAVA 용어 정리 - 2 (객체지향, 절차지향, 메모리의 구조) ** 객체지향 프로그래밍 - 정의 : 프로그램 구현에 필요한 객체를 파악하고 역할을 정의하여 프로그램을 만드는 것 1) 장점 : '상속'하여 코드 재사용 가능, 디버깅과 유지 및 보수에 용이, 모델링의 제한이 없음 2) 단점 : 개발 속도, 실행 속도가 느림, 프로그래밍 난이도가 높음 3) 특징 3-1. 추상화 : 공통의 속성과 특성을 찾아 타입을 정의하는 과정, 불필요한 정보는 숨기고 중요한 정보만 표현하여 코드를 효율적으로 작성가능하게 해줌 [ex)범인의 몽타주] 3-2. 캡슐화(은닉화) : 데이터 구조와 다루는 방법등을 결합 시켜 묶어 놓은 것 3-3. 상속 : 상위 클래스 속성과 특성을 하위 클래스에게 물려주거나 그 반대로 물려 주는 것 (재사용에 용이함) 3-4. 다형성 : 하나의 변수명, 함수.. 더보기
JAVA 용어 정리 - 1 (자바의 특징) " JAVA는 컴파일 언어와 인터프리터 언어를 모두 사용하는 언어" ** 컴파일이란? 1. 정의 : 프로그램의 실행 전에 모든 코드를 번역하는 것 2. 실행 과정(컴 + 파일) : 빌드 후 실행 (건축 자재를 검수하는 과정 : 어느 부분에 어느 것이 쓰이는 지 알아야 한다, 타입 기재 필수) * 인터프리트란? 1. 정의 : 프로그램의 실행 시 한 줄씩 코드를 번역하는 것 2. 실행 과정 : 순서대로 단순 실행 (그냥 단순 실행만 하기 때문에 타입 기재가 필요없음) ** JAVA의 특성 - Java는 본래 interpreter 언어였지만 그 단점을 보완하기 위해 Complier 언어를 추가하여 사용하고 있다 1) JAVA의 interperter 특성 : 별도의 기계어 번역없이 사람이 작성한 소스코드를 번역.. 더보기