목록분류 전체보기 (33)
공부하는 블로그

AWS에 애플리케이션을 띄워서 운용을 해야하는 과제를 하면서 Github Action을 이용한 CI/CD 과정을 간단하게 정리한 글 1.CI/CD란?CI : Continuous Integration(지속가능한 통합) : 개발자들이 작업한 코드가 예를 들어 main 브랜치에 push, merge 됐을 때 서버에서 자동으로 빌드, 테스트를 해주는 과정. CD : Continuous Deployment(지속가능한 배포) : CI로 빌드, 테스트가 통과됐을 때, 운영중인 서버에 새로 통합된 코드를 자동으로 배포해주는 과정 2.왜 Github Action을 사용하였는지? 1) Github에서 제공하는 서비스이기 때문에 Github Repository에서 push, merge 됐을 때 자동으로 작업을 시작하게 하..
AWS를 사용하면서 사용하게 될 기능들 강의를 들으면서 간단하게 정리한 내용들 1.Identity and Access Management(IAM)AWS 리소스에 대한 액세스를 안전하게 관리할 수 있는 서비스. root계정을 만들 때 쓰지만, 나중에 서비스를 사용할 때는 root 계정을 공유하기보다 IAM을 사용하면 사용자, 그룹, 역할을 생성하고, 이들에게 특정 리소스에 대한 권한을 부여할 수 있다. 이를 통해 AWS 계정 내에서 누가 어떤 작업을 할 수 있는지 세밀하게 제어할 수 있으며, 최소 권한 원칙을 적용하여 보안성을 높일 수 있다. 2.Elastic Cloud Compute(EC2)AWS에서 제공하는 가상 서버 서비스. 필요할 때 서버를 생성하고 원하는 만큼 확장할 수 있다. 사용자는 CPU, ..
H2 Database란? 자바로 작성된 RDBMS(관계형 데이터베이스 관리 시스템). 장점따로 설치가 필요없다.용량이 매우 가볍다.웹용 콘솔(쿼리툴)을 제공하여 개발용 로컬 DB로 사용하기 좋다. 특징JAVA로 작성된 오픈소스 RDBMS스프링 부트가 지원하는 인메모리 관계형 데이터베이스 인메모리로 띄우면 애플리케이션 재기동 때마다 초기H2 데이터베이스의 사용 방식 3가지Server Mode, In-memory Mode, Embeded ModeServer Mode (배포 용도) 직접 엔진을 설치하여 사용하는 방식. 애플리케이션과 상관 없는 외부에서 DB 엔진이 구동된다. 데이터가 애플리케이션 외부에 저장되므로 애플리케이션을 종료해도 데이터가 사라지지 않는다.In-memory Mode(테스트 용도) 엔진을..

AOP : 관점 지향 프로그래밍소프트웨어 개발에서 코드의 핵심 로직과 부가적인 관심사를 분리하여 모듈화하는 프로그래밍 패러다임. 로깅, 보안, 트랜젝션 관리, 예외 처리와 같은 공통된 부가 기능을 코드의 주요 비즈니스 로직과 분리함으로써 코드의 가독성과 유지보수성을 높이는 데 도움을 준다. 예를 들어 프로젝트에서 메서드의 실행 속도를 측정하고 싶다고 치면, 메서드마다 시간을 측정하는 로직을 추가해줘야 한다. /** * 수업 생성 서비스 */ public CourseCreateResponseDto createCourse(CourseCreateRequestDto data) { // 시간 측정 시작 long startTime = System.currentTi..
스프링 부트를 활용한 뉴스피드 프로젝트를 하면서 느낀 점 정리 KEEP : 현재 만족하고 있는 부분 dev 브랜치에 병합할 때 Pull Request를 이용해서 한 번 검토를 하고 합치기 때문에 코드의 품질을 더 높일 수 있고, 본인이 짠 코드가 아닌 다른 코드도 볼 수 있어서 일관된 코드 작성하는데 도움이 되는 것 같습니다. 지금까지 개인 과제 하거나 개인 개발할 때는 일단 기능을 다 완성시켜두고 API 명세서를 작성했는데, 이번에 API 명세서를 작성하고 개발을 하다보니 가이드라인이 되는 것 같아서 더 편하게 개발할 수 있었던 부분이 좋았습니다. 예외처리를 할 때 try{} catch() {} 를 사용해야만 하는 줄 알고있었는데, @RestControllerAdvice를 활용해서 예외처리를 한 곳에..

스프링을 배우고 나서부터, System.out.println() 을 잘 쓰지 않는 듯 하다. 어짜피 콘솔에 기록을 남기는 건 똑같은데 왜 자바에서 기본적으로 제공해주는 sout을 쓰지 않고 slf4j를 사용하는 걸까? 1. Log 레벨 sout은 단순히 출력 그 이상도 이하도 아니기 때문에, 메세지를 구분하거나 중요한 정보라고 따로 분류를 하기 어렵다. 반면, 로그는 레벨을 사용해 메세지의 중요도와 성격을 명확히 구분할 수 있다. 1) TRACE : 가장 상세한 로그 레벨로, 매우 세부적인 정보나 애플리케이션의 흐름을 추적할 때 사용한다. 2) DEBUG : 디버깅 목적으로 사용되는 레벨로, 애플리케이션의 상태를 이해하기 위해 유용한 정보를 제공한다. 보통 개발 환경에서 주로 사용되며, 운영 환경에..