본문 바로가기

전체 글115

통신 프로토콜이란? 컴퓨터와 컴퓨터, 장비와 장비간에 서로 통신을 하려고 할때 이해 할 수 없는 언어를 사용한다면 당연히 통신이 안될것이다. 이를 해결하기 위해 컴퓨터와 컴퓨터끼리 이해 할 수 있는 공용된 언어를 사용하는 것을 프로토콜(Protocol)이라고 한다. 프로토콜은 사용 목적과 종류에 따라 여러가지의 기능을 종합적으로 이루며, 모든 프로토콜마다 전체 기능이 포함되었다기 보다는 필요에 따라 몇가지 기능이 포함되었다고 보면 된다. - 구문(syntax) : 데이터의 형식이나 신호로 부호화 방법 등을 정의한다. - 의미(semantics) : 오류 제어, 동기 제어, 흐름 제어 같은 각종 제어 절차에 관한 제어 정보를 정의한다. - 순서(timing) : 송/수신자 간 혹은 양단(end-to-end)의 통신 시스템과 .. 2022. 12. 6.
스프링은 어떻게 동작할까? Spring이란? 경량 컨테이너로서 자바 객체를 직접 관리한다. 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다. 스프링은 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가볍다. 스프링은 제어의 역행(IoC : Inversion of Control)을 지원한다. 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출한다. 스프링은 의존성 주입(DI : Dependency Injection)을 지원한다. 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜준다. 스프링은 관점 지향 프로그래밍(AOP : As.. 2022. 12. 6.
프레임워크는 왜 쓸까? 프레임워크란? 프로그램의 기초를 구축할 수 있는 코드의 집합이다. 어떤 프로그램을 만들기 위한 기본 틀. 예를틀어 자동차를 만들때 자동차의 뼈대를 프레임워크라고 생각하면 된다. 프레임워크와 라이브러리와 비교하자면 라이브러리는 자동차의 사이드미러, 핸들, 창문.. 이렇게 필요에 의해 추가할 수 있는 모듈이라고 생각할 수 있다. 프레임워크를 사용하는 이유 개발 프로세스 간소화 프레임워크에서 제공하는 도구와 패키지가 일반적인 개발 절차를 처리하기때문에 이미 만들어진 코드를 재사용하게 되므로 시간과 비용을 아낄 수 있다. 초급 개발자에게 고급 개발자 못지않은 방법을 제공하므로 소스코드를 작성하는 시간을 크게 줄일 수 있다. 코드 길이 간소화 및 완성도 대부분의 프레임워크는 세션관리, 인증과 같은 기능을 제공하기.. 2022. 12. 6.
JVM이란? + 자바의 특징 Java Virtual Machine의 줄임말. 자바를 실행하기 위한 가상 기계라고 할 수 있다. Java는 OS에 종속적이지 않은 특징을 가지고 있다. OS에 종속받지 않고 실행되기 위해선 OS위에서 Java를 실행시킬 무언가가 필요하다. JVM이 번역기 역할을 하여 다양한 운영체제에서 Java가 독립적으로 사용될 수 있게 한다. 그래서 개발자가 윈도우 10 운영체제에서 자바로 프로그램을 개발한다면 개발 미완료된 프로그램도 맥, 리눅스 등 다른 운영체제에 옮겨 실행이 가능하다. 자바 컴파일 과정 Something.java > [Compiler] > Something.class > JavaVM > Something 실행 처음 우리는 Java 소스코드로 개발한다. 이 파일들의 확장자는 (*.java) 이렇.. 2022. 12. 6.