728x90
728x90
Github Actions는 프로젝트 내에서 자동화된 작업을 실행할 수 있게 해주는 CI/CD 도구이다. 이 도구는 커밋, 풀 리퀘스트, 이슈 생성 등 다양한 이벤트를 기준으로 동작하여 개발자가 설정한 자동화 흐름을 실행할 수 있다.---Github Actions 공식 가이드---GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD(연속 통합 및 지속적인 업데이트) 플랫폼입니다. 리포지토리에 대한 모든 끌어오기 요청을 빌드 및 테스트하거나 병합된 끌어오기 요청을 프로덕션에 배포하는 워크플로를 만들 수 있습니다.GitHub Actions은(는) 단순한 DevOps 수준을 넘어 리포지토리에서 다른 이벤트가 발생할 때 워크플로를 실행할 수 있도록 합니다. 예를 들어 누군..
문제 요약프로젝트에서 프론트엔드는 React로, 백엔드는 Spring Boot로 구현된 API를 호출하는 구조로 개발하면서 로컬에서 테스트 중에 CORS 에러를 만나게 되었다. CORS는 많이 접했지만 이제야 블로그에 적는다..이 오류는 서버가 클라이언트의 요청에 대해 CORS 정책을 허용하지 않기 때문에 발생하는데 CORS에 관해서는 아래 글에 정리를 해두어서 참고해보면 좋을 것 같다. CORS가 무엇인지 궁금하다면? 웹 보안을 위한 정책, CORS?웹 보안은 특히 프론트엔드 개발자에게 중요하다. 웹 브라우저의 보안 정책을 이해하고 이를 적절히 활용하는 것이 필수적이다. 이번 글에서는 CORS(Cross-Origin Resource Sharing)와 CSRF(Cross-Site Request Fofab..
CI/CD란 무엇인가?CI/CD는 소프트웨어 개발 프로세스를 자동화하여 효율성과 품질을 높이는 기법아다. CI는 지속적 통합(Continuous Integration)을 의미하고 CD는 지속적 배포(Continuous Deployment) 또는 지속적 전달(Continuous Delivery)을 나타냅니다. 이 두 개념은 함께 작동하여 개발자가 코드를 더 안전하게 배포할 수 있도록 돕는다. 이를 통해 팀은 빠르게 피드백을 받고 버그를 조기에 발견하며 안정적인 배포를 실현할 수 있다. CI/CD 절차CI/CD 절차는 다음과 같이 나누어진다.개발(Develop): 소스 코드를 작성하여 애플리케이션을 개발한다.CI(지속적 통합): 코드 변경 사항을 자동으로 테스트하고 빌드한다.테스트 및 빌드: 코드가 변경되면..
도커(Docker)란? 도커(Docker)는 컨테이너화된 애플리케이션을 만들고 배포하기 위한 오픈 소스 플랫폼이다.각 컨테이너는 필요한 모든 소프트웨어를 포함하며 호스트 환경과 독립적으로 실행된다.이를 통해 애플리케이션을 일관되게 작동하도록 보장하고 다양한 환경에서 쉽게 실행할 수 있다. 도커는 왜 사용하는가?도커는 여러가지 장점으로 인해 많은 사용되고 있다. 도커와 비교되는 VM과의 차이와 도커의 장점을 확인하고 왜 사용되는지 알아보자.도커의 장점컨테이너화격리된 환경: 도커는 애플리케이션과 그 종속성을 격리된 컨테이너로 패키징한다. 이를 통해 여러 애플리케이션이 동일한 시스템에서 충돌 없이 실행될 수 있다.이식성: 도커 컨테이너는 동일한 환경에서 실행되므로 개발 환경에서의 코드가 프로덕션 환경에서도 동..
Java의 Final 키워드Java에서는 불변성을 보장하기 위해 final 키워드를 제공한다.클래스나 변수에 final을 붙이면 처음 정의된 상태가 변하지 않음을 보장하며 이는 코드의 안정성과 예측 가능성을 높인다. 기본적으로 Java 변수들은 가변적이지만, final 키워드를 통해 참조 값을 변경할 수 없도록 만들어 불변성을 확보할 수 있다. final 필드변수에 final을 붙이면 해당 변수는 초기화 이후 값을 변경할 수 없다.단, 객체 참조형 변수일 경우 내부 데이터는 수정 가능하나 참조 자체를 변경하는 것은 불가능하다. 주로 상수 값 정의 시 사용하며 특정 값이 코드 전체에서 변하지 않아야 할 때 유용하다.final int MAX_VALUE = 100;MAX_VALUE = 200; // 오류 발..
DTO(Data Transfer Object)와 VO(Value Object)란?객체 지향 프로그래밍에서 DTO와 VO는 모두 객체이지만 그 목적과 사용 방식이 다르다.DTO는 주로 데이터 전송에 초점을 맞추고 있으며, VO는 객체의 값 자체에 집중하여 불변성을 유지하는 특징이 있다. DTO(Data Transfer Object): 데이터 전송을 위한 객체가변 객체DTO는 시스템 간에 데이터를 전송하는 데 사용된다. 이 객체는 데이터를 저장하고 그 값을 변경할 수 있다. 예를 들어, 클라이언트에서 서버로 데이터를 전송하거나 데이터베이스에서 데이터를 불러와 다른 계층으로 전달할 때 주로 사용된다.특징Setter와 Getter 제공: 데이터를 외부에서 가져오거나 수정할 수 있다.주로 네트워크 통신에서 사용:..