분류 전체보기64 [Docker] Github Actions을 활용한 Spring 자동 빌드, Docker Image push(CI) (1) 0. GitHub Actions 를 사용하기 전 Spring 프로젝트 CI/CD이전 포스팅에서 프로젝트 자체 빌드, 또는 Docker를 사용하여 프로젝트를 배포하는 프로세스 플로우에 대해서 알아봤다. 실제로 CI/CD 배포 프로세스는 매우 다양한 방법으로 진행할 수 있고 복잡한 프로세스를 통해 진행되기 때문에 설정을 제대로 하지 않거나, 프로세스 Flow를 제대로 이해하지 않는다면 굉장한 장애를 발생시킬 수 있다. 따라서 실제로 배포 프로세스를 잘 파악하고 있다면 배포 자동화 프로세스(CI/CD 프로세스)를 통해서 처음에 설정을 통해 편하게 배포를 할 수 있다.이러한 배포 자동화를 CI/CD(Continuous Integration, Continuous Deployment) 라고 한다. CI (Cont.. 2024. 4. 9. [Spring Boot] Spring MVC / 3-tier Layered Architecture 1. MVC 패턴의 개념과 Spring에서의 MVC 패턴 1-1. MVC 패턴 MVC 패턴이란? 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴어플리케이션을 개발할 때 개발 영역을 Model - View - Controller로 나누어 각 역할에 맞게 코드를 작성하는 방식UI 영역과 비즈니스 로직 영역으로 구분하여 서로에게 영향을 주지 않으며 개발 및 유지 보수가 가능하게 한다. 각 패턴 구분Model : 값과 기능을 가지고 있는 객체데이터 및 비즈니스 로직을 관리한다.추가적으로 3-tier Layer Architecture에서 서비스 계층에 비즈니스 로직이 들어가 있으므로 서비스 계층은 모델에 더 가깝다고 볼 수 있다.View : 모델에 포함된 데이터를 시각화하여 사용자에게 보여주는 역할Model을.. 2024. 4. 2. [Docker] Local 환경에서 Spring에서 Docker 사용 실습 해당 실습은 Github / Github Action / Docker Registory / EC2를 활용하지 않고 Local 컴퓨터 내에서 Docker Desktop을 활용한 실습으로 진행할 예정이다. 실습 목표Spring 환경에서 Build를 통한 JAR파일 생성하기원하는 Docker Image를 생성하기 위해 Docker File을 생성Docker File과 JAR 파일을 가지고 Docker Build를 진행하여 Docker Image 생성생성된 Docker Image를 Docker Desktop과 터미널에서 Docker Run을 통한 Docker Container 구동0. 실습을 위한 환경 설정0-1. Spring 환경 설정하기spring 환경을 설정하기 위해 https://start.spring... 2024. 3. 31. [Docker] Docker 개념 정리 및 Spring 환경 배포 프로세스 0. Docker 의 개념과 역할먼저 Docker의 자세한 개념과 설명은 이전 포스팅에서 다루었기 때문에 이번 포스팅에서는 간단하게만 다루도록 하자. [ASAC_04/Docker] Docker의 기본 개념Docker 사용 이유 : Consistency(일관성)와 Multiple Containers(다중 컨테이너) 어플리케이션 동작의 일관성을 갖기위해 (어느 서버나 컴퓨터에서 동작해도 정상적으로 동일한 동작으로 하기 위해) 어플리rnclf1005.tistory.com Docker는 컨테이너 기반 가상화 플랫폼으로, 응용 프로그램과 그 종속성을 격리된 환경인 컨테이너로 패키징하여 실행하는 기술이다.Docker를 사용하는 가장 중요한 개념은 "어플리케이션 동작의 일관성을 가지기 위해 사용한다."는 개념이다.여.. 2024. 3. 30. 리눅스 마스터 2급 합격 후기... 많은 개발자들이 말하기를 개발할 때 맥북을 사용하는 것이 더 편하고 좋다고 말했었다. 근데 사실 게임 클라이언트 개발을 준비할 때는 맥북을 사용해야하는 이유를 딱히 느끼지 못해서 맥북을 사용하지 않았다. 또한, 맥북을 사용해보고 싶었지만 많은 사람들이 맥북의 환경을 견디지 못하고 윈도우로 돌아가고 맥북들은 슬프게도 당근으로 가버린다는 도시전설 때문에 사용하지 않았었다. 이제 게임 클라이언트 개발을 그만두고 서버 개발을 공부하며 새로운 마음가짐으로 새롭게 공부하고 싶은 마음에 맥북을 질러버렸다... 맥북은 리눅스 기반의 영향을 많이 받았기 떄문에 맥북을 잘 사용하고 더 편하게 개발하고 싶은 마음에 리눅스 마스터 시험을 준비하게 되었다. 리눅스 마스터 시험은 일정별로 1차, 2차 총 2번의 시험을 봐야한다... 2024. 3. 29. [Spring Boot] Spring / Spring Boot 비교 1. Spring Framework스프링 프레임워크(Spring Framework)는 Java 기반 애플리케이션 개발을 지원하는 오픈소스 애플리케이션 프레임워크로 간단히 스프링(Spring)이라 한다.스프링은 순수 자바 객체(POJO)만을 사용하여 복잡성을 제거하고, 단순하고 가벼운 코드로 기업용 애플리케이션을 개발하기 위한 목적으로 개발된 프레임워크(Framework)이다. 1-1. Spring Framework 특징Spring Framework는 아래의 네가지 특징을 가진다.1. 제어 역전( Invesion of Control, IoC ) 스프링은 객체의 생명 주기 및 의존성 관리를 담당하는 프레임워크에서 IoC 컨테이너를 제공한다. IoC 컨테이너를 통해 개발자는 객체의 생성과 관계 설정 및 생명.. 2024. 3. 27. [Java] Java 예외 처리 0. Java의 예외처리 개발을 잘한다는 사람들은 기본적으로 원하는 로직을 바로 설계하여 코드를 뚝딱뚝딱 작성하는 것을 의미할 수 있다.하지만 개발을 잘한다는 것은 얼마나 예측 불가능한 런타임 에러를 발생시키지 않고 원하는 로직을 완성하는냐를 의미할 수도 있다.이때 예측 불가능한 런타임 에러를 없애는 것을 예외 처리라고 할 수 있다. 기본적으로 Java에서는 Try -> Throw -> Catch 의 구성으로 에러 처리(예외 처리)를 한다.이때 예외 처리는 에러가 발생하는 근원에 따라서 2가지로 구분할 수 있다.자바 프로그램 "외부"에서 발생하는 에러를 Checked Exception이라 한다.자바 프로그램 "내부 로직"에서 발생하는 에러를 Unchecked Exception이라고 한다.Checked E.. 2024. 3. 19. [DBMS] Transaction의 격리수준 (Isolation Level) 1. 격리수준 (Isolation Level)이란?트랜잭션(Transaction)간 서로 얼마나 고립되어 있는지 나타내는 수준한개의 트랜잭션이 다른 트랜잭션이 변경한 데이터에 대한 접근 할 수 있는 강도를 의미한다.Level은 0~3 수준으로 나뉘어져 있으며 레벨이 커질수록 고립의 수준이 높아지고, 성능은 저하될 수 있다.Level 0은 고립이 거의 되어있지 않은 수준이고, Level 3는 완전하게 고립(직렬화)되어 있는 상태이다. 2. 격리 수준의 필요성은 무엇일까?기본적으로 격리 수준은 트랜잭션의 ACID 특성을 보장하기 위해 사용된다.격리 수준이 낮으면 많은 트랜잭션의 처리가 빨라지지만 데이터의 무결성에 문제가 생길 수 있다.격리 수준이 높으면 트랜잭션 처리 성능이 저하될 수 있지만 데이터 무결성.. 2024. 3. 14. [AWS] AWS Private EC2에 접근하기 위한 Bastion / NAT-Instance 설정하기 AWS 내에서 프라이빗 서브넷에 연결되어 있는 프라이빗 인스턴스는 외부와 접근할 일이 없을까?이전 포스팅에서 설명했지만 Private Instance 또한 외부와 연결되어야 하는 특정한 상황이 있다.해당 상황이 이해가 가지 않는다면 해당포스팅을 확인하고 오자. [ASAC_04/AWS] AWS 개념 - VPC / Subnet / Route Table / Internet Gateway1. VPC (Virtual Private Cloud) VPC는 약자 그대로 AWS 클라우드에서 제공하는 사용자의 AWS 계정 전용 가상 네트워크다. 사용자는 AWS에서 제공하는 VPC 내에서 서브넷, 라우팅 테이블, 인터넷 게이트웨이rnclf1005.tistory.com 1. “Private” EC2 생성 후 외부 접근 허.. 2024. 3. 13. 이전 1 2 3 4 5 6 7 8 다음