분류 전체보기312 [spring] 스프링 컨테이너와 스프링 빈 스프링 컨테이너 생성ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);이렇게 하면 스프링 컨테이너가 생성된다. ApplicationContext는 인터페이스이다. AnnotationConfigApplicationContext는 이 인터페이스의 구현체이다. 스프링 컨테이너를 만들 때에는 구성정보를 설정해주어야한다. 여기서는 AppConfig.class를 구성정보로 지정하였다. 스프링 컨테이너는 파라미터로 넘어온 설정 클래스 정보로 스프링 빈을 등록한다.빈 이름은 메서드 이름으로 만들어지고, 직접 부여할수도 있다.빈 이름은 무조건 서로 달라야한다. 스프링 컨테이너는 설정 정보를 참고해서 .. 2024. 10. 4. [spring] 관심사 분리 나는 spring의 기초부터 배웠다기보다는 정말 구현을 위한 지식만을 쌓았어서 spring이 어떤 면에서 좋은지, 그리고 의존성 주입 부분이 왜 중요한지 잘 몰랐었는데, 스프링 없이 자바로 관련 기능을 구현해보니까 알 수 있게 되었다.AppConfig로 관심사 분리public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository; }이런 식으로 memberService에서 사용하는 MemberRepository를 생성할 때 코드에서 바로 구현체를 사용해서 생성하면 DIP를 위배한다(클라이언트는 인터페이스만 코드에 써야.. 2024. 10. 2. [git] 깃허브 정리 깃허브란분산 버전 관리 툴인 깃을 사용하는 프로젝트를 지원하는 웹호스팅 서비스 깃이란컴퓨터파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산버전관리시스템. 소프트웨어 개발에서 소스코드 관리에 주로 사용되지만, 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다. commit자주 남겨주는 게 좋음이제까지 어떤 코드를 짜왔는지 알 수 있다.커밋메세지 잘 써주는 것이 중요 pushpush를 하면 로컬에 있는 코드가 원격으로 올라간다. pull내가 push한 상태에서 동료 개발자가 pull하면 내 코드를 가져올 수 있다. 브랜치한 레파지토리에 브랜치로 다양한 버전을 관리할 수 있다. 깃플로우깃플로우 전략은 소프트웨어의 소스코드를 관리하고 출시하기 위.. 2024. 9. 29. [배포] EC2에 SpringBoot와 ai-server 배포하기 저번 멋사 해커톤과 충청톤 때 프로젝트를 했었는데 그 때는 거의 다른 백엔드 팀원 분이 해주셨다. 하지만 이번 어흥톤때는 내가 직접 배포해보라고 하셨다. 비록 팀원분을 많이 괴롭혔지만 결국 성공했다! 인스턴스 만들기인스턴스는 저번 그대로 만들기로 했다! 저번에 처음에 프리티어로 생성하니까 너무 잘 돌아가지 않았다. 그래서 살짝 돈이 들더라도 좋은 서버를 사용하기로했다.인스턴스는 우분투를 사용하도록 하였고, 스토리지 볼륨은 20GB이다.인스턴스 유형은 t3.large이다.키 페어는 새로 만들었다. 펨키 이름은 좀 복잡하게 해야 좋다.이번에도 소중한 펨키는 내가 가지고 있기로 했다. 펨키는 너무 중요하다. 팀원 분은 그래서 키파일을 메신저로 보내는 것도 하지 않았었다. 잘 관리해야겠다. 그 다음 보안그룹을 .. 2024. 9. 27. [에러해결] bash: ./gradlew: Permission denied, permission denied while trying to connect to the Docker bash: ./gradlew: Permission denied배포 과정에서 드디어 java-17 설치를 완료하고, ./gradlew bootJar 명령어를 입력했는데,permission denied라는 에러가 떴다. 이 에러는 권한이 없다는 의미이다. chmod +x ./gradlew명령어를 친 후 다시 bootjar을 하여 해결하였다. permission denied while trying to connect to the Docker docker build -t my-fastapi-app . ERROR: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http.. 2024. 9. 27. [에러해결] RUN pip install --no-cache-dir -r requirments.txt 배포할 때 EC2에 도커를 설치하고 여기에 인공지능 모델을 띄우기 위해서 docker build -t my-fastapi-app . 명령어를 쳤는데RUN pip install --no-cache-dir -r requirments.txt 에러가 났다. 찾아보니까 디스크 공간 부족이라고 했다. 원인은 처음에 인스턴스를 만들 때 볼륨크기를 8GB로 만들어서였다.도커를 올리려면 20GB는 필요하다고 한다. 해결방법은 이제까지 한 것들이 아깝지만 기존 인스턴스를 삭제하고, 새로 인스턴스를 만드는 것이다.ㅜㅜ이렇게 하니까 바로 잘 되었다! 2024. 9. 27. 이전 1 ··· 11 12 13 14 15 16 17 ··· 52 다음