분류 전체보기

오늘 부트캠프에서 빌드와 컴파일에 대한 이야기가 나왔다. 느낌적으론 알 거 같은데 말로 표현하려니 어려워 따로 정리를 해보려고 한다. 빌드와 컴파일은 프로그래밍에서 중요한 단계이다. Java를 주언어로 쓰고 있으니 Java 기준으로 용어를 설명해 보자. 컴파일(Complie) 컴파일을 설명하기전 우리는 프로그래밍 언어가 인간의 언어인지 컴퓨터의 언어인지를 파악할 필요가 있다. 우린 우리가 짠 코드를 해석할 수 있으니 인간의 언어이다. 우린 궁극적으로 프로그래밍을 통해 컴퓨터 프로그램이 되어 동작시키는 것이기 때문에 인간의 언어인 프로그래밍 언어를 컴퓨터가 해석할 수 있게 번역을 시켜주는 역할이 필요하다. 우린 그것을 "컴파일한다" 라고 표현한다. 그럼 컴파일을 해주는 역할을 하는 것은 "컴파일러"라고 지..
우리가 주로 사용하는 웹 사이트의 주소를 말할 때는 URL이라는 표현을 많이 쓴다. 그러나 개발 쪽 학습을 진행하다 보면 URI와 혼용하여 사용하기 때문에 개념적으로 헷갈리때가 많다. 이번 기회에 두 가지 개념을 정리해 보도록 하자. URI (Uniform Resource Identifier) URI는 Uniform Resource Identifier의 약자로, 한국어로는 '통합 자원 식별자'라고 한다. Uniform은 리소스를 식별하는 통일된 방식을 의미한다. Resource란, URI 로 식별이 가능한 모든 종류의 자원를 의미하며, 웹 브라우저의 파일뿐 아니라 정보(일기예보, 교통정보 등), 서비스와 같이 웹에서 사용되는 모든 자원을 지칭한다. Identifier는 다른 항목과 구분하기 위해 필요한 ..
·Framework/Spring
[스프링 부트 핵심가이드] 책을 참고하여 작성하였습니다. GET API GET API는 웹 애플리케이션 서버에서 값을 가져올 때 사용하는 API이다. GET API를 작성하는 방법은 다양하다. 그 방법의 대해 알아보자. @RequestMapping으로 구현하기 @RequestMapping 어노테이션을 별다른 설정 없이 선언하면 HTTP의 모든 요청을 받는다. 그렇기 때문에 GET형식의 요청만 받기 위해선 어노테이션에 별도 설정이 필요하다. 아래의 코드와 같이 @RequestMapping 어노테이션의 method 요소의 값을 RequestMethod.GET으로 설정하면 GET으로만 설정할 수 있다. package com.core.testproject.controller; import org.springfr..
·Trouble Shooting
Intellij의 Spring Initializr로 Spring Boot 프로젝트를 생성 중 해당 이슈가 발생하였다. 이슈발행 Plugin 'org.springframework.boog:spring-boot-maven-plugin:' not found 해당 오류 Maven plugin의 버전이 명시가 되지 않아서 나는 에러이다. 문제 해결 문제 해결 방법에 대해 2가지 방법을 제시한다. 첫 번째 방법 Maven Dependency 폴더인. m2 삭제 후 재시작하는 방법이다. 이 방법은 Dependency '디펜던시명' not found 발생 했을때 가장 많이 사용된다. 1. 캐시삭제 / IDE 재시작 File -> Invalidate Caches / Restart... (캐시 무효화) -> Invalid..
·Framework/Spring
[스프링부트 핵심 가이드] 책을 읽고 정리한 내용입니다. 아마 REST API는 대중적으로 가장 유명하고 많이 사용되는 애플리케이션 인터페이스이다. REST API의 REST가 무엇을 의미하고 어떤 형식과 규칙이 있는지 알아보자. 🌐 REST란? REST란 'Representational State Transfer'의 약자로, 월드 와이드 웹(WWW)과 같은 분산 하이퍼미디어 시스템 아키텍처의 한 형식이다. 주고받는 자원(Resource)에 이름을 규정하고 URI에 명시해 HTTP 메서드(GET, POST, PUT, DELETE)를 통해 해당 자원의 상태를 주고받는 것을 의미한다. 즉, REST는 서버와 클라이언트의 통신 방식 중 한 가지이며, 위 문장을 해석해 보면 HTTP URL를 통해 자원을 명시하..
·Framework/Spring
[스프링부트 핵심 가이드] 책을 기준으로 작성하였습니다. 🍀 레이어드 아키텍처란 애플리케이션의 컴포넌트를 유사 관심사를 기준으로 레이어로 묶어 수평적으로 구성한 구조를 의미한다. 레이어드 아키텍처는 여러 방면에 쓰이는 개념이며, 어떻게 설계하냐에 따라 용어와 계층의 수가 달라진다. 일반적으로 레이어드 아키텍처는 3 계층 또는 4 계층 구성을 의미한다. 이 차이는 인프라(데이터베이스) 레이어의 추가 여부로 결정된다. 여기서는 3 계층 레이어드 아키텍처를 기준으로 설명해 보자. ✅ 프레젠테이션 계층 애플리케이션의 최상단 계층으로, 클라이언트의 요청을 해석하고 응답하는 역할을 한다. (사용자와 시스템 간의 상호작용) 사용자 인터페이스(UI) 또는 API를 제공한다. 사용자의 입력값을 검증하고, 비지니스 로직에..
·Framework/Spring
[스프링 부트 핵심 가이드] 책을 보고 정리한 내용입니다. 스프링 부트의 동작 방식 스프링 부트에서 spring-boot-starter-web 모듈을 사용하면 기본적으로 톰캣을 사용한 스프링 MVC 구조를 기반으로 동작한다. 아래 이미지는 일반적인 웹 요청이 들어왔을 때의 스프링부트 동작 구조이다. 서블릿(Servlet) 이란 클라이언트의 요청을 처리하고 결과를 반환하는 자바 웹 프로그래밍 기술이다. 일반적으로 서블릿은 서블릿 컨테이너(Servlet Container)에서 관리한다. 서블릿 컨테이너는 서블릿 인스턴스(Servlet Instance)를 생성하고 관리하는 역할을 수행하는 주체로서 톰캣은 WAS와 서블릿 컨테이너 역할을 모두 수행한다. 서블릿 컨테이너의 특징을 정리하면 다음과 같다. 서블릿 객..
·Framework/Spring
스프링 부트 핵심 가이드 책을 보고 정리한 내용입니다. 스프링 프레임워크(Spring Framework)는 자바 기반의 애플리케이션 프레임워크이다. 엔터프라이즈급 애플리케이션을 개발하기 위한 다양한 기능을 제공하며 목적에 따라 다양한 프로젝트를 지원하는데 그중 하나가 스프링 부트(Spring Boot)이다. 스프링부트의 기반이 되는 스프링 프레임워크를 알아보고, 그것을 기반으로 스프링부트 특징을 정리해 보자. 스프링 프레임워크? 스프링 프레임워크는 자바에서 가장 많이 사용되는 프레임워크이며, 우리나라에서는 '전자정부 표준 프레임워크'로 채택되어 웹 개발자들에겐 익숙한다. 스프링 프레임워크는 자바를 이용해 엔터프라이즈급 개발을 편하게 만들어주는 '오픈소스 경량급 애플리케이션 프레임워크'로 불린다. 즉, 자..
JH_DEV77
'분류 전체보기' 카테고리의 글 목록 (10 Page)