분류 전체보기

🐳 인프라/😸 Github Actions

[CD] GitHub Self Hosted Runner + Docker Hub를 이용한 지속적 배포(Continuous Deploy)

🚀 이번 포스팅에서 알아갈 키워드 Continuous Deploy GitHub Self Hosted Runner Workflow Docker Hub Docker Image Docker Run 💬 개요 먼저 지속적 배포(CD, Continuous Deploy)를 구축하기 위해서 다음과 같은 기술을 선택했습니다. GitHub Self Hosted Runner : 현재 클라우드 상황에 적합하다. Docker Hub : EC2 내부에서 스프링 프로젝트가 빌드(build)된 이미지(Image)를 가져와 실행할 수 있다. ✅ GitHub Self Hosted Runner를 선택한 이유 현재 진행하고 있는 프로젝트의 클라우드 환경에 가장 적합하다고 느꼈다. 사용하고 있는 EC2의 vpc 환경은 외부에서 내부로 들어올..

🐳 인프라/😸 Github Actions

깃허브 액션(GitHub Actions)을 이용해서 지속적 통합(CI)할 때의 흐름 알아보기

🚀 이번 포스팅 목표GitHub Actions를 사용하는 포스팅보다 어떤 식으로 동작되는지 흐름을 보도록 한다.GitHub Actions의 Runner에 대해서 이해한다.GitHub Actions의 Event에 대해서 이해한다.GitHub Actions의 Jobs에 대해서 이해한다.GitHub Actions의 Steps에 대해서 이해한다.GitHub Actions의 Action에 대해서 이해한다.GitHub Actions를 이용해서 push 했을 때 스프링 프로젝트를 빌드하도록 설정한다. 📌 상황 설명현재 브랜치가 feature, develop가 있다고 하자. 팀 프로젝트를 진행하면서 feature 브랜치로부터 develop 브랜치에 push를 자주하고 있다. 이후에 develop 브랜치를 가지고 배포하..

👨‍🚀 우아한테크코스 5기

[20230709] 우아한테크코스 5기 LEVEL 3 - 바톤 프로젝트 2주차

바톤 프로젝트 2주차가 지나고 1차 데모데이까지 끝났다. 기획에 집중해서 의미있는 프로젝트를 만드려고 매일매일 빠짐없이 회의했었다. 프로젝트를 한 번 돌아보자. 🟩 코드 컨벤션백엔드와 프론트엔드의 코드 컨벤션을 정했다. 사실 백엔드와 프론트엔드가 같이 코드 컨벤션을 정한다고하면 무엇이 필요한지 몰랐다. 사용하는 언어도 다르고 프레임워크도 다른데 맞춰야 되는 이유가 있을까? 백엔드와 프론트엔드의 최종적인 목표는 동일하다. 같은 바톤 프로젝트를 통해서 사용자들의 니즈를 만족시키는 것이다. 즉, 도메인 부분은 같다. 같은 도메인이라면 사용하는 코드에서 중복되는 부분은 도메인 용어가 있다. 현재 바톤은 "릴레이 소설"이라는 주제를 가지고 있다. 릴레이 소설이라는 도메인을 가진다면 소설, 문장, 단어, 작가 등의..

👨‍🚀 우아한테크코스 5기

[20230703] 우아한테크코스 5기 LEVEL3 - 바톤 프로젝트 1주차

우아한테크코스의 크루로서 생활한지 벌써 5개월 정도의 시간이 지났다. 그리고 기다리던 레벨3 프로젝트가 시작되었다. 릴레이 소설을 주제로 팀이 만들어졌고 "바톤"이라는 이름으로 진행하게 됐다. 🟩 킥오프 미팅 킥오프 미팅을 통해서 현재 [바톤] 프로젝트가 어떤 목표를 지향하고 있는지 알아봤다. 기획자분의 이야기를 먼저 듣고 이후 팀원들이 추가적으로 덧붙이면서 프로젝트에 대한 싱크를 맞췄다. 프로젝트를 시작하기 전 매우 기초적인 단계로 현재 [바톤] 팀이 진행하고 있는 프로젝트가 무엇인지 알 수 있었다. 프로젝트에 대한 간단한 소개 프로젝트 기획 배경 다른 서비스와의 차별점 기대 효과 정도의 이야기를 통해 문서화하고 킥오프 미팅을 마쳤다. 🟩 나 사용 설명서 [바톤] 팀이 정해지고 나서 다시 새로운 크루분..

💬 언어

[JVM] Java Virtual Machine Architecture

JVM을 좀 더 깊게 학습하기 위해서 포스팅했습니다. (Medium에 엔지니어분께서 작성하신 글을 번역한 글로 보시면 됩니다.) 자바가 내부에서 실제로 작동하는 방식을 알아보려고 합니다. JVM 아키텍처에 대해서 얘기해보겠습니다. 🟩 01. 클래스 로더 서브시스템 (Class Loader Subsystem) JVM은 RAM에 띄어져 있습니다. 자바의 동적 클래스 로딩 기능을 이용해서 런타임 중에 클래스 로더 서브시스템을 통해 클래스 파일을 RAM에 띄웁니다. 런타임에 클래스를 처음 참조할 때 클래스 파일(.class)을 로딩, 연결, 초기화 합니다. 🟧 01-01. 로딩 (Loading) 컴파일된 클래스(.class)를 메모리에 로드하는 것은 클래스 로더의 주요 역할입니다. 클래스 로딩 프로세스는 메인 ..

👨‍🚀 우아한테크코스 5기

[20230607] 우아한테크코스 5기 LEVEL2 - 레벨2 및 인터뷰 회고

우아한테크코스 레벨2가 끝났다! 레벨1 마지막과 동일하게 레벨2에서도 인터뷰를 진행했다. 확실한 정답이 있다고 할 수는 없지만 개념은 공통적인 부분이라고 느낄 수 있었던 기간이었다. 레벨2에서 알게된 키워드를 나열해보면서 많은 것을 배워갔다는 것도 느꼈다. 🟩 레벨2 포스팅 스프링 🔗 [Spring MVC - ArgumentResolver] ArgumentResolver를 이용해서 컨트롤러 메서드의 파라미터 받기 🔗 [Spring MVC - Exception] @ExceptionHandler와 ExceptionHandlerExceptionResolver로 예외 처리하기 (1/2) 🔗 [Spring MVC] 디스패처 서블릿(DispatcherServlet) 둘러보기 🔗 [Spring] 필터(Filter)란..

🌐 네트워크

HTTPS

보호되어 있는 글입니다.

☁️ AWS

[AWS] EC2 란? (EC2, EC2 인스턴스, EC2 인스턴스 유형, AMI)

🟩 EC2 (Elastic Compute Cloud) 아마존 웹 서비스에서 제공하는 클라우드 컴퓨터 서비스 가상 서버 인스턴스를 제공하여 사용자가 필요에 따라 컴퓨팅 리소스를 확장하는 것이 가능하다. 🟩 EC2 인스턴스란? AMI(Amazon Machine Image, 가상 머신)에서 설정한 유형을 기반으로 구성 정보를 받아 EC2 인스턴스를 생성한다. 이 때 임대한 EC2를 EC2 인스턴스라고 부른다. 🟩 AMI (Amazon Machine Image) EC2에서 사용되는 가상 머신 이미지(AMI). AMI는 EC2 인스턴스를 생성하는 템플릿이다. 인스턴스의 소프트웨어 구성, 운영 체제, 애플리케이션 및 설정을 포함하고 있다. 🟩 EC2 인스턴스 구성 정보 많은 설정을 할 수 있지만 대표적인 것들만 모..

😋 JPA

[JPA] 기본값 타입, 임베디드 타입, 컬렉션 값 타입 - (@Embeddable, @Embedded)

JPA의 데이터 타입은 크게 두 가지로 분류할 수 있다. 엔티티 값타입 엔티티는 @Entity로 정의한 객체이다. 값타입은 int, Integer, String 같은 기본 타입과 객체를 의미한다. 값타입을 조금 더 자세히 분류하면 세 가지가 나온다. 기본값 타입 (int, String, Integer) 임베디드 타입 (사용자 정의 값 : Address, Name, ...) 컬렉션 값 타입 (하나 이상의 값타입) 이제부터 기본값 타입, 임베디드 타입, 컬렉션 값 타입에 대해서 하나하나 알아보자. 🟩 기본값 타입 (Basic Value Type) int, double 과 같은 기본 값 타입 Integer, String과 같은 래퍼 타입이 있다. 기본값 타입은 이전 예제부터 자주 사용하고 있었다. @Entit..

hyena0608
'분류 전체보기' 카테고리의 글 목록 (2 Page)