전체 글

코딩 프로젝트

🚀Github와 AWS를 이용한 팀 프로젝트 초기 설정하기 (5)

Github Actions로 CI/CD 파이프라인 구축하기 안녕하세요. 이번 포스트에서는 팀 프로젝트에서 가장 중요하지만 자주 놓치는 CI/CD 파이프라인 구축에 대해 다뤄보겠습니다. 개념과 전체적인 흐름부터 GitHub Actions 설정까지, 실무에서도 활용할 수 있는 자동화 배포 환경을 구축하는 것이 목표입니다. 😎 1. CI/CD에 대해1.1) CI/CD 개념 이해CI (Continuous Integration - 지속적 통합)코드 변경사항을 자동으로 빌드하고 테스트하는 과정여러 개발자가 작업한 코드를 안전하게 합치는 것 CD (Continuous Deployment - 지속적 배포)테스트를 통과한 코드를 자동으로 운영 서버에 배포하는 과정수동 배포의 번거로움과 실수를 제거 1.2) CI/CD..

코딩 프로젝트

🚀Github와 AWS를 이용한 팀 프로젝트 초기 설정하기 (4)

AWS 프리티어로 RDS PostgreSQL 데이터베이스 구축하기 안녕하세요. 이번 포스트에서는 이전 글에서 구축한 Spring Boot 서버에 연동할 RDS PostgreSQL 데이터베이스를 AWS 프리티어로 생성하는 과정을 다뤄보겠습니다. 관리형 데이터베이스 서비스를 활용하여 안정적이고 확장 가능한 데이터베이스 환경을 구축하는 것이 목표입니다. 👏 🎯 이전 단계 요약이전 포스트에서는 다음 작업을 완료했습니다: ✅ EC2 Ubuntu 인스턴스 생성 및 탄력적 IP 할당✅ SSH 접속 환경 및 보안 그룹 설정✅ Spring Boot 애플리케이션 서버 배포 완료 1. RDS 인스턴스 생성EC2 서버에 DB 연동을 하기 위해 RDS 인스턴스를 생성해야 합니다. 🚀 RDS란 무엇인가?RDS(Relat..

코딩 프로젝트

🚀Github와 AWS를 이용한 팀 프로젝트 초기 설정하기 (3)

AWS 프리티어로 Spring Boot 서버 배포하기 안녕하세요. 이번 포스트에서는 AWS 프리티어를 활용하여 Spring Boot 애플리케이션을 클라우드에 배포하는 과정을 다뤄보았습니다. 비용 최적화를 고려한 클라우드 인프라 설계부터 실제 서버 배포까지, 실무에서 활용할 수 있는 DevOps 환경을 구축하는 것이 목표입니다. 😎 1. EC2 인스턴스 생성AWS 사이트에 접속한 후, 회원가입 및 로그인을 합니다. 1.1) AWS Region 설정우선 위치를 서울로 변경합니다.Region에 따라서 인스턴스 위치가 결정되기 때문에 서비스할 위치인 서울로 선택해줍니다. 1.2) EC2 메뉴로 이동콘솔 홈 검색창에서 EC2를 검색하고 클릭해줍니다. 1.3) 새 인스턴스 생성 바로 "인스턴스 시작" 버튼을 ..

코딩 프로젝트

🚀Github와 AWS를 이용한 팀 프로젝트 초기 설정하기 (2)

지난 포스트에 이어 이번 글은 팀 프로젝트에서 Spring Boot 기반 백엔드 서버를 구축하며 진행한 환경 세팅 과정을 간단하게 정리하였습니다. 특히 Spring Boot 세팅, PostgreSQL과의 연동, 예외 처리 구조, Swagger 적용까지 팀원 모두가 공통된 개발 환경을 갖출 수 있도록 구성하였습니다. 1. 환경 변수 설정 (application.yml + .env 파일)백엔드 프로젝트 생성 후 필요한 build.gradle 의존성과 DB 생성을 완료했다면, 환경 변수를 설정해야 합니다.개발 과정에서 데이터베이스 주소, 계정 정보처럼 민감한 정보를 직접 application.yml에 작성하면 보안상 위험할 수 있습니다. 또한 협업 시 개발자마다 설정이 달라질 수 있기 때문에 .env 파..

코딩 프로젝트

🚀Github와 AWS를 이용한 팀 프로젝트 초기 설정하기 (1)

팀 프로젝트를 하다 보면 GitHub와 AWS를 사용하는 일이 정말 많아집니다.하지만 환경을 처음 세팅할 때는 "뭘 해야하지? 이렇게 하는게 맞나?" 싶은 막막함이 듭니다. 그래서 저는 이 블로그 시리즈에서 GitHub와 AWS를 이용한 팀 프로젝트 개발 환경을 처음부터 끝까지 차근차근 정리해보려고 합니다.비록 아직 저도 많이 미숙하고 완벽하게 정리된 과정은 아닐 수 있지만,직접 경험하며 배운 것들을 실제 팀플에서 쓸 수 있도록 정리한다는 마음으로 기록해보려고 합니다. 이 시리즈의 첫 번째 글에서는 GitHub에서 오거니제이션 생성 -> 팀 리포지토리 구성 -> 초기 프로젝트 파일 생성 -> 이슈/PR 템플릿 설정까지, 협업을 위한 기본 세팅 과정을 다뤄보겠습니다. 1. GitHub Organizat..

공부 메모

[HTTP] 웹 성능 최적화를 위한 캐시와 조건부 요청

본 게시물은 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 보고 작성하였습니다. 같은 이미지를 매번 서버에서 새로 받는다면 얼마나 비효율적일까요?웹 브라우저는 이런 문제를 해결하기 위해 'HTTP 캐시'를 사용합니다. 이번 글에서는 HTTP 캐시의 동작 원리부터 실무에서 많이 사용하는 캐시 제어 방법까지 정리해 보겠습니다. 왜 캐시가 필요할까?캐시가 없으면 /star.jpg를 요청할 때마다 1.1MB 이미지를 매번 새로 받아야 합니다. 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운받아야 하고,인터넷 네트워크는 매우 느리고 비싸기 때문에 브라우저 로딩 속도가 느려져 느린 사용자 경험이 될 것입니다. 첫 번째 요청 땐 서버에서 이미지를 내려주고, 브라우저는 이걸 캐시에 저장해 둡니다...

코딩테스트 & 문제 풀이

[Java]백준_23881 : 알고리즘 수업 - 선택 정렬 1

https://www.acmicpc.net/problem/23881 문제 분석선택 정렬을 직접 구현하는 문제이다. 선택 정렬의 가장 기본적인 원리는 가장 작은 데이터를 선택해서 앞으로 보내는 알고리즘이다.한 바퀴 돌면서 가장 작은 데이터를 찾아서 맨 앞 데이터와 교환하고, 그 다음 작은 데이터를 찾아서 그 다음 위치와 교환하는 식으로 동작한다.배열 [5, 3, 8, 4, 2]로 동작 원리를 살펴보겠다. 전체 [5, 3, 8, 4, 2] 중 가장 작은 값: 2 -> 첫 번째 값 5와 교환=> 결과 : [2, 3, 8, 4, 5] 남은 부분 [3, 8, 4, 5]에서 가장 작은 값: 3 -> 그대로 유지=> 결과 : [2, 3, 8, 4, 5] 남은 부분 [8, 4, 5]에서 가장 작은 값: 4 ->..

코딩테스트 & 문제 풀이

[Java]백준_23968 : 알고리즘 수업 - 버블 정렬 1

https://www.acmicpc.net/problem/23968    문제 분석버블 정렬로 k번째 교환되는 두 수를 구하는 문제이다.먼저, 버블 정렬의 개념을 알아야 한다. 버블 정렬의 가장 기본적인 원리는 인접한 두 개의 수를 비교하여 큰 수를 오른쪽으로 밀어내며 정렬하는 알고리즘이다. 두 개의 수를 비교하여 만약 앞에 있는 숫자가 더 크다면, 서로 교환을 시키고 이후 다시 옆칸과 비교하는 방법을 반복한다.배열 [5, 3, 8, 4, 2]로 동작 원리를 살펴보겠다. 5와 3 비교 -> 교환 -> [3, 5, 8, 4, 2]5와 8 비교 -> 그대로 -> [3, 5, 8, 4, 2]8과 4 비교 -> 교환 -> [3, 5, 4, 8, 2]8과 2 비교 -> 교환 -> [3, 5, 4, 2, 8]=> ..

공부 메모

[HTTP] 쉽게 이해하는 HTTP 헤더 & 쿠키 핵심 정리

본 게시물은 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 보고 작성하였습니다.   요청과 응답의 구조와 HTTP 헤더와 쿠키의 동작 원리를 제대로 이해하는 건 웹 개발자로서 필수 역량입니다. 이번 포스팅에서는 HTTP 헤더의 구조와 종류, 전송 방식, 그리고 상태 유지 기술인 쿠키까지 자세히 알아보는 시간을 가져봅시다.  HTTP 헤더란?요청과 응답 메시지에 추가 정보를 담아 전달하는 영역입니다.메시지 본문(body) 외에 HTTP 전송에 필요한 모든 부가정보를 전달합니다. 예) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보 등  HTTP 헤더 구조GET /search?q=hello&hl=koHTTP/1.1 Host: www.google.co..

코딩테스트 & 문제 풀이

[Java]백준_18110 : solved.ac

https://www.acmicpc.net/problem/18110    문제 분석배열에 입력 받은 값을 넣고, 정렬배열 길이의 15% 만큼의 값을 앞뒤로 제외나머지 중간 값들의 평균 구하기  소스 코드 (⭕)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..

Hicecream
Hicecream