java 6

Docker, Dockerfile을 이용한 환경구성 및 실행

Docker도커란 컨테이너화를 사용해 응용 프로그램의 배포, 확장 및 관리를 자동화할 수 있는 오픈 소스 플랫폼이다.코드, 실행 시간, 시스템 도구 및 라이브러리를 포함하여 응용 프로그램을 실행하는데 필요한 모든 것을 가볍고 격리된 환경으로 포함한다.응용 프로그램과 해당 종속성을 표준화된 단위로 패키징하여 다양한 환경에서 일관되게 배포하고 실행하기 쉽게 만들어준다. 컨테이너화란 응용 프로그램을 실행하는데 필요한 모든 것을 포함한 가볍게 격리된 환경을 제공한다.표준화된 단위로 패키징해 일관되게 배포하고 실행하는 것이 목적이다. 사용 목적빠르고 일관된 애플리케이션 제공효율적인 배포확장성격리된 환경개발 환경의 일관성 VM과 Docker의 차이VM - 호스트 컴퓨터 위에 가상 운영 체제를 실행하는 것으로 각 운..

Docker 2024.04.26

springboot Test 알아보기

이번 포스팅은 springboot test에 대해 알아보도록 하자 기본적인 테스트 도구는 spring-boot-starter-test 스타터에 테스트를 위한 도구가 모여 있다. 필자가 사용할 테스트 도구로는 JUnit을 사용할 것이다. 지금은 단위 테스트를 위한 JUnit에 대해 알아보자. public class JunitTest { @DisplayName("1+2 = 3") //테스트 이름 @Test void junitTest() { int a = 1; int b = 2; int sum = 3; Assertions.assertThat(a + b).isEqualTo(sum); } } @DisplayName은 테스트 이름을 명시한다. @Test 애노테이션은 테스트를 수행하는 메서드가 되고 메서드에서 voi..

spring 2024.04.15

springboot 서블릿 알아보기

알아보기에 앞서 필자는 스프링 부트 스타터 사이트에서 스프링 프로젝트를 생성해서 사용한다. https://start.spring.io project: gragle - groovy language: Java 21 spring boot: 3.2.3 packaging: war 보통 packaging은 jar를 사용하지만 jsp를 실행하기 위해서 war를 선택하였다. 사용한 gradle의 dependencies는 아래와 같이 사용했다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlomb..

spring 2024.04.14

springboot 기초 예제 springboot 기술 사용하기

이전에 포스팅한 기초 예제를 springboot의 기술을 사용해서 바꾸고자 한다. @Entity @Table(name = "users") public class User { @Id @GeneratedValue @Column(name = "users_id") private Long id; private String name; public User() { } public User(String name) { this.name = name; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String nam..

spring 2024.04.14

springboot 기초와 원리 알아보기

스프링 부트는 각 계층이 통신하는 구조를 따른다. 아래는 스프링부트 계층 구조이다. 예시로 음식점과 옷가게가 있을 때 서로 지인이라 옷을 사면 음식을 할인 해주거나 음식을 먹으면 옷을 할인해 줄 수 있다. 이게 계층간 소통이고 음식점에서 갑자기 옷을 팔 수 없듯 계층은 서로 영향을 끼치진 못한다. 각 계층은 자신의 책임에 맞는 역할을 수행 해야하지만 필요에 따라 계층간 소통이 가능하다. 간략하게 프레젠테이션 계층은 HTTP 요청을 받고 비즈니스 계층으로 요청을 전송하는 역할을 한다. 비즈니스 계층은 비즈니스 로직을 처리한다. 예시로 주문의 데이터를 저리하기 위한 로직이 들어가는 부분이다. 퍼시스턴트 계층은 데이터베이스 관련 로직을 처리한다. 계층은 개념의 영역이며, 컨트롤러, 서비스, 리포지토리는 실제 ..

spring 2024.04.13

springboot 개발 공부 기록

근 5개월간 자바와 스프링부트를 공부하며 공책과 프로젝트에 공부하며 정리했지만 여태 깃허브와 기술 정리를 깔끔하게 하지 못해서 늦게나마 공부한 자료들을 토대로 정리하는 시간을 가져보고자 블로그를 개설해 여태 공부했던 것들 어려웠던 부분을 정리하고자 한다. 가장 먼저 자바와 스프링부트를 공부하게 된 계기는 웹 서버가 내장되어 있다는 점, 스프링 코어와 스프링 MVC의 기능을 자동으로 로드해준다는 점이 특별하게 다가왔고 자바 언어가 가진 객체지향의 프로그래밍이 매우 흥미롭고 배울수록 재미가 붙었다. 스프링 부트의 핵심이라 할 수 있는 IoC, DI, AOP, PSA 개념이 처음에는 어렵고 이해가 되지 않았지만 예제들과 함께 프로젝트를 만들다보니 자연스레 익혀지기도 했다. 정리를 다시 간략하게 해보자면 IoC..

spring 2024.04.13
728x90