반응형 분류 전체보기350 Spring Boot에서 build.gradle은 의존성 관리를 어떻게 하는걸까? 먼저 이전에 우아한 스프링 부트에 대한 공부 기록을 남기면서 의문점이 한 가지 남아있었다. 이전 우아한 스프링 부트에 대한 공부 기록이 남아있는 게시글은 아래와 같다. https://devdebin.tistory.com/229?category=1039778 우아한 스프링 부트 공부 기록 스프링 부트 스프링 부트는 스프링을 쉽게 제공하기 위해 제공되는 툴이다. 참고로 스프링이란 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크다. 스프링 devdebin.tistory.com 우리 개발자들은 스프링 부트를 사용하면서 직접적인 의존성의 버전을 적지 않아도 구체적인 의존성의 버전을 가져온다. maven의 경우는 pom.xml 파일에서 parent가 버전을 이미 다 알고 있기 때문이었.. 2022. 9. 15. 우아한 객체지향 정리 이번에는 유튜브에서 조영호님이 발표하신 강의 우아한 객체지향을 정리해보려고 합니다. 객체지향과 해당 예제에 관심이 많아서..ㅎㅎ 영상 링크와 발표 깃허브 링크는 포스팅 맨 아래에 있습니다. 1. 의존성 1.1 설계란 코드를 어떻게 배치할 것인가. 즉 어떤 클래스에 어떤 코드가 들어가고, 어떤 패키지에 어떤 클래스가 들어갈 것인지, 프로젝트에 어떤 코드를 작성할 것인가에 대한 내용이 설계다. 설계의 핵심은 바로 변경에 초점을 맞추는 것이다. 같이 변경되는 것들을 같이 넣어야 한다. 같이 변경되지 않는 것들은 따로 넣어야 한다. 1.2 의존성이란 의존성이 있다는 것은 B가 변경되면 A도 같이 변경될 수 있다는 의미다. 중요한 부분은 변경될 수 있다는 점이다. 위 그림의 예시처럼 A가 B에 의존하고 B가 변경.. 2022. 9. 14. RabbitMQ 공부 이번에는 동아리 프로젝트에서 메시지 브로커인 RabbitMQ를 도입하기로 했다. 이에 대해 알아보자. RabbitMQ란? RabbitMQ는 가장 널리 배포된 오픈 소스 메시지 브로커다. RabbitMQ는 가볍고 구내 및 클라우드에 배포하기 쉽다. 여러 메시징 프로토콜을 지원한다. RabbitMQ는 분산형 및 연합형 구성으로 구현되어 대규모 고가용성 요구사항을 쉽게 충족할 수 있다. 이렇게 공식 사이트에서 소개하고 있다. 다른 설명보다 제일 눈에 띄는 것은 메시지 브로커다. 메시지 브로커란 무엇인가?. 메시지 브로커는 애플리케이션, 시스템 및 서비스가 서로 간에 통신하고 정보를 교환할 수 있도록 해주는 소프트웨어다. 메시지 브로커는 정규 메시징 프로토콜 간에 메시지를 변환함으로써 이를 수행한다. 이를 통해.. 2022. 9. 13. Spring Rest Docs 트러블 슈팅 스프링 진영에서는 API 명세서로 사용하는 대표적인 두 가지가 있다. 바로 Swagger와 Spring Rest Docs다. 간단하게 설명하면 Swagger는 도입이 매우 편리하지만 운영 코드가 지저분해지고 기능적인 보장을 할 수 없다. Spring Rest Docs는 테스트를 기반으로 작성되므로 운영 코드가 지저분해지지 않고 기능적인 보장을 한다. 다만 적용하는데 꽤 많은 시간이 소요된다. 저번 동아리 프로젝트는 빠르게 개발을 해야하므로 Swagger을 도입했었다. 이번에는 졸업 프로젝트를 하면서 새로운 기술을 도입해보고 싶었기에 Spring Rest Docs를 도입하기로 결정했다. 이번 포스팅에서는 구체적인 도입 방법보다는 트러블 슈팅과 해결 과정을 기록하려고 한다. Spring Rest Docs를 .. 2022. 9. 1. 졸업 프로젝트 세팅 시작하기(aws, ec2, gabia, rds, docker, spring) 다음주면 슬프게도 벌써 개강이다. 필자의 학교는 3학년 2학기에 졸업 프로젝트를 하는데, 12주 동안만 진행한다. 짧으므로 개강전에 미리 사용할 서버 환경을 조금이나마 구축하려고 한다. 먼저 할 일은 다음과 같다. (계속 수정할 여지가 있다) 새로운 AWS 프리티어 계정 생성 ec2 인스턴스 생성 후 탄력적 IP 할당 가비아에서 도메인 구매 rds 세팅. docker 세팅: 스프링 컨테이너 + nginx + redis(추후에 추가, 다른 컨테이너도 추가할 예정) ssl를 사용해 https 적용하기 도커와 깃허브 액션을 통합해 CI CD 파이프 라인 구축하기. 일단 이번 포스팅에서는 5번 스프링 컨테이너까지 띄워보겠습니다. 1. 새로운 AWS 프리티어 계정 생성 프리티어 계정으로 가입을 진행했다. http.. 2022. 8. 25. ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries 필자의 노트북은 M1 에어이다. 도커 컴포즈 파일로 실습을 하면서 이미지를 pull 하다가 아래와 같은 에러 발생했다. ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries 직역하면 '오류: 매니페스트 목록 항목에 linux/arm64/v8과 일치하는 매니페스트가 없습니다.' 이다. 오류를 보고 처음 든 생각은 애플 실리콘 칩을 지원하지 않는 것을 Pull 했구나 라는 생각이 들었다. 오류를 구글링을 해보니 이에 대한 해결책은 2가지가 있는 것 같다. 1. 첫 번째 해결책인 .yml 파일에 platform 설정 필자는 mysql 이미지를 pull 하는 과정에서 오류가 발생했다. 첫 번째 해결 법은 우리가 사용하는 docke.. 2022. 8. 18. 이전 1 ··· 18 19 20 21 22 23 24 ··· 59 다음 반응형