분류 전체보기

    [모아두기] ubuntu 22.04 - EC2 세팅시 필요한 명령어들

    0. pemkey 읽기 권한 주기 chmod 400 *.pem 1. docker 설치 sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/..

    [Spring Boot] Mockito란?

    1. Mokito Mokito는 단위 테스트를 위한 mocking 프레임 워크이다. 쉽게 말해 가짜 객체인 Mock을 생성해주고 관리하고 검증할수 있도록 지원한다. 구현체가 없거나 의존성을 고려하지 않고 특정 단위만 테스트 할 수 있도록 환경을 만들어준다. 2. Mock객체 여기서 registerComment 메소드를 부르면 CommentDao의 insertComment가 실행되어야 한다고 하자. 이를 위해 테스트를 한다고 했을때 중점으로 볼 부분은 insertComment가 호출이 되었는지 아닌지 이다. 즉, 내부에 어떤 코드가 작성되어있는지는 관심없고 결과가 중요한 것이다. registerComment 메소드의 단위 테스트를 실행하기 위해 Mock객체는 여기서 CommentDao를 가짜로 사용할 수 ..

    [Spring Boot] DI 구현 방법 3가지

    DI를 구현하는 방법은 필드주입, 세터 주입, 생성자 주입으로 3가지가 있다. 이 3가지에 대해서 간단하게 정리하려고 한다. 먼저 DI를 하면 외부에서 의존성을 주입받기 때문에 (1) 테스트가 용이해지고 (2) 객체간 결합도를 낮추고 (3) 코드의 재사용성을 높인다. 1. 필드 주입 @Controller public class FoodController { @Autowired private FoodService foodService; } 필드에 @Autowired 어노테이션만 붙여주면 의존성이 주입된다. 코드가 간결하지만 프레임워크에 의존적이고 외부에서 수정이 불가하다. 외부에서 수정이 불가하다는 것은 테스트 코드 작성시 객체를 수정수 없다는 말이 된다. 2. 세터 주입 @Controller public..

    [Spring Boot] dotenv(.env) 때문에 날려버린 2일

    문제 상황 AWS S3 연동을 위해 access key 와 secret key를 발급 받고 연동 시작 로컬 IDE (vscode) 에서는 S3에 정상적으로 작동 문제는 build 후 jar파일 실행시 권한이 없다고 뜸 삽질 과정 구글링이란 구글링은 다 해본듯 하다. 어떠한 것도 해결 되지 않았음. 그러다 문득 application.yml 에 있는 access key와 secret key등 .env 파일에서 받아오는 부분을 하드코딩 해봄 jar파일에서도 S3 연결 성공! 문제는 .env 에서 value값을 받아오는 과정에서 생겼다고 드디어 문제점 파악 문제점 value값에 더블쿼테이션을 쓴게 문제였다. AWS_ACCESS_KEY="envTest" 위처럼 설정했었는데 IDE에서는 정확하게 읽기 때문에 문제점..

    [정리] REST API 규칙

    API를 만들다 보면 어떻게 명명할지가 은근히 고민이 많이 된다. REST API규칙들을 지키다보면 고민을 덜 수 있으니 규칙을 알아봤다. REST에 대해서는 이전에 간단하게 정리해놨다. [정리] REST API REST는 API에 대한 조건을 부과하는 소프트웨어 아키텍처 스타일이다. REST는 REpresentational state Transfer의 약자로 직역하면 "대표 상태 전송" 이다. 서버에서 클라이언트가 요청의 상태를 파악할 수 diary-blockchain.tistory.com 1. 소문자 URI를 작성할 때에는 소문자로 작성한다. Good http://localhost/good Bad http://localhost/Good 2. 언더바 대신 하이픈 사용 언더바는 잘 안보일 수 있기 때문에..

    [정리] URI vs URL

    URI와 URL의 차이는 항상 헷갈렸다. 그래서 이참에 간단하게 정리해보고자 한다. 1. URI URI는 Uniform Resource Identifier의 약자로 직역하면 '통합 자원 식별자' 이다. 즉 URI는 자원 자체를 식별하는 고유한 문자열이다. 티스토리 주소창을보면 아래와 같이 https나 www가 없다. member/blog 로 리소스를 식별하여 정보를 제공한다. 2. URL URL은 Uniform Resource Locator의 약자로 직역하면 '통합 자원 위치' 이다. 마찬가지로 위에서 봤던 주소창을 클릭후 전체 복사해보고 붙여넣어 봤다. https://www.tistory.com/member/blog 위와 같이 https와 www가 붙어서 복사가 된다. 이는 프로토콜 https + ww..