web

    [Web] 사물인터넷(Internet of Things, IoT)

    사물인터넷(Internet of Things, IoT) IoT 또는 사물 인터넷이라는 용어는 연결된 디바이스의 공통 네트워크를 의미하며, 디바이스와 클라우드 및 디바이스 간 통신을 용이하게 하는 기술을 의미하기도 한다. 사물인터넷(loT)이란 인터넷을 기반으로 모든 사물을 연결하여 사람과 사물, 사물과 사물 간에 정보를 교류하고 상호 소통하는 지능형 기술 및 서비스를 의미한다. 즉, 모든 사물에 센서를 부착함으로써 인터넷을 통해 각각의 사물들이 실시간으로 데이터를 주고받아 스스로 분석하고 학습한 정보를 사용자에게 제공하거나 사용자가 연결된 사물들을 원격으로 조정할 수 있는 기술을 의미한다. 사물인터넷은 우리 생활에 가장 밀접한 스마트 홈 분야에서 아마존 Echo, 구글 Home, KT 지니 등이 상업적인..

    [Web] 16진수 체계와 주소체계

    16진수 체계 16진수는 2진수 값을 표현하는 데 편리한 방법이다. 10진법은 10진수 체계이고 2진법은 2진수 체계인것과 같이 16진법은 16진수체계를 따른다. 16진수 체계는 숫자 0에서 9까지 그리고 문자 A에서 F까지를 사용한다. 아래표는 바이너리 0000에서 1111까지의 동등한 10진수, 2진수, 16진수 값을 보여준다. 한개의 값을 4개의 비트로 표현하는 것보다 단일의 16진수 숫자로 표현하는 것이 더 쉽다. 바이트 이해하기 8비트(1바이트)가 일반적인 2진수 묶음이라고 할 때, 2진수 00000000에서 11111111까지는 16진수 00에서 FF로 나타낸다. 선두의 0은 8비트 표현을 나타내기 위해서 항상 표시된다. 예로 2진수 0000 1010은 16진수 0A이다. 16진수 값의 표현 ..

    [Web] Spring Bean 선언, 오토와이어링(Autowired)

    스프링 빈(Spring Bean)은 스프링 컨테이너에 의해 관리되는 자바 객체로 빈 등록은 설정 xml, 어너테이션, 설정 클래스를 이용해 등록할 수 있다. 그리고 이렇게 등록한 스프링 빈은 오토와이어링을 통해 공급된다. 이 두 가지 개념은 스프링 프레임워크로 개발하기 위해서는 꼭 알아야 한다. 스프링 빈 스프링 부트의 경우 어너테이션을 통한 빈 등록을 기본으로 한다. @Component, @Service, @Controller, @Repository, @Bean 등으로 필요한 Bean을 등록하고, 필요한 위치에서 @Autowired를 통해 주입받아 사용하는 것이 일반적이다. 위 그림과 같이 @Service, @Controller, @Repository는 모두 @Component를 상속 받으며 해당 어너..

    [Web] WebMVC와 RestController 모듈

    스프링 프레임워크의 대표적인 적용 분야인 웹 개발에 사용할 수 있는 두 가지 모듈로는 WebMVC와 RestController가 있다. WebMVC는 서블릿과 같이 MVC 패턴 기반의 웹 애플리케이션을 구현할 때 사용하는 모듈이며, RestController는 REST API 구현에 사용된다. 스프링 프레임워크 기반 개발의 가장 기본이 되는 부분이며 스프링을 처음 배울 때에도 가장 쉽게 배울 수 있는 부분이다. WebMVC 스프링 WebMVC는 MVC 기반 웹 애플리케이션 개발과 구조적으로 거의 동일하다. 특히 컨트롤러 부분을 제외하면 모델과 뷰는 기존의 코드를 그대로 사용할 수 있을 만큼 유연한 구조를 가지고 있다. 컨트롤러 스프링을 사용하면 컨트롤러 구조를 직접 구현할 필요 없이 특정 요청에 대한 처..

    [Web] IoC(Inversion of Control), DI(Dependency Injection), AOP(Aspect-Oriented Programming)

    IoC, DI, AOP는 스프링 프레임워크의 특징이며, 스프링 프레임워크의 구조를 이해하기 위해 반드시 알아야 하는 중요 개념이라고 할 수 있다. IoC IoC(Inversion of Control)란 우리말로 '제어의 역행'이라고 한다. 기존의 프로그램은 main()처럼 프로그램이 시작되는 곳에서 필요한 객체를 생성하고, 생성된 객체의 메서드를 호출하는 흐름을 가진다. 이와 달리 IoC는 작업을 수행하는 쪽에서 객체를 생성하는 일반적인 개념을 뒤집은 것으로, 프로그램 제어를 자신이 아닌 다를 곳에 위임하는 것을 말한다. 즉 컨테이너에 객체 생성과 공급을 위임하는 형태다. IoC의 특징 IoC에서는 객체가 자신이 사용할 객체를 생성하거나 선택하지 않는다. 객체는 자신이 어떻게 생성되고 어떻게 사용되는지 ..

    [Web] 스프링 프레임워크와 스프링 부트

    스프링 프레임워크 스프링 프레임워크(Spring Framwork)는 자바 기반의 오픈소스 프레임워크로 Java EE에서 요구하는 수준의 복잡한 기능을 Java EE를 사용하지 않고 구현하기 위해 시작되었다. 2002년 로드 존슨(Rod Johnson)의 저서 에서 제시한 코드와 아이디어를 발전시켜 2004년 처음 발표된 이후 현재 가장 대표적인 자바 오픈소스 프레임워크가 되었다. 스프링 프레임워크는 높은 수준의 스프링 기반 애플리케이션을 손쉽게 만들어주는 스프링(spring.io) 프로젝트 중 하나로, 20개 이상의 서로 다른 모듈로 구성된다. 프로젝트 규모와 필요 기능에 따라 스프링 프레임워크를 기본으로 여러 모듈을 조합한 형태로 사용하게 된다. 스프링 프레임워크의 주요 특징 경량 컨테이너: 객체 생성..