java 14

[AWS] Secrets Manager 생성 및 값 가져오기 in JAVA

아래 코드는 Java에서 AWS에서 제공하는 Secrets Manager에 접근하고, Secret을 생성하고, Secrets의 값을 가져오는 코드입니다.1. AWS Secrets Manager Client 생성public class SecretsManagerRepositoryImpl implements SecretsManagerRepository{ // 시크릿매니저 클라이언트 생성 private final SecretsManagerClient secretsManagerClient; public SecretsManagerRepositoryImpl ( String accessKey, String secretKey ) { this.secretsMa..

AWS/AWS 공부 2024.03.07

[SpringBoot - Selenium] Chrome Driver 초기 설정

1. Chrome Driver 다운로드 먼저 Chrome Driver 다운로드가 필요합니다. 현재 사용하는 Chrome 버전을 확인하여, 동일한 버전으로 다운 받으시길 바랍니다. 버전이 다를 경우 에러가 크롤링 시 에러가 뜰 수 있기 때문에 최대한 같은 버전의 Chrome Driver을 사용하는 걸 권장합니다. 현재 114 버전까지는 아래 사이트에서 다운로드 가능합니다. https://chromedriver.chromium.org/downloads ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Test..

JAVA/Crawling 2023.10.31

[Junit] MockMvc - Body / Query / Path 작성 방법

Controller 단위 테스트의 정확한 작성법이 궁금하다면? 2023.10.28 - [Junit5] Mockito - Controller 단위 테스트 작성 [Junit5] Mockito - Controller 단위 테스트 작성 Spring boot 단위 테스트의 정석 Junit5 + Mockito의 정보가 궁금하다면? 2023.10.28 - [Junit5] Mockito를 사용하는 방법 [Junit5] Mockito를 사용하는 방법 1. Mockito의 제공 Mockito는 spring boot에서 사용하는 가장 기본 yuna-story.tistory.com Junit + Mockito + MockMvc Spring boot Contoller 단위 테스트 작성 방법 Body, Query, Path 등 ..

JAVA/Junit 2023.10.31

[Junit5] Mockito - Controller 단위 테스트 작성

Spring boot 단위 테스트의 정석 Junit5 + Mockito의 정보가 궁금하다면? 2023.10.28 - [Junit5] Mockito를 사용하는 방법 [Junit5] Mockito를 사용하는 방법 1. Mockito의 제공 Mockito는 spring boot에서 사용하는 가장 기본적인 Mocking 프레임워크입니다. spring boot의 maven이나 gradle에 spring-boot-starter-test가 있을 경우, mockito는 junit과 함께 자동적으로 제공됩니다. yuna-story.tistory.com Junit5 : Spring boot Contoller test code 작성법 이해를 돕기 위해 간단한 예시를 통해 Controller 테스트 코드 작성법을 설명하도록 ..

JAVA/Junit 2023.10.28

[Junit5] Mockito를 사용하는 방법

1. Mockito의 제공 Mockito는 spring boot에서 사용하는 가장 기본적인 Mocking 프레임워크입니다. spring boot의 maven이나 gradle에 spring-boot-starter-test가 있을 경우, mockito는 junit과 함께 자동적으로 제공됩니다. testImplementation 'org.springframework.boot:spring-boot-starter-test' 2. Mocking이 필요한 이유 test에는 기본적으로 단위 테스트, 통합 테스트가 있습니다. Mockito는 단위 테스트를 위해 사용됩니다. 단위 테스트의 목적은 단순히 해당 부분만 독립적으로 테스트 하기 위한 목적입니다. 그러므로 테스트 하려는 함수가 아닌 다른 함수들에 대해서까지 테스트..

JAVA/Junit 2023.10.28

Java의 Call By Value, Call By Reference

1. Call by Value, Call by Reference 메서드를 호출할 때 파라미터를 전달하는 두 가지의 방식 1) Call by Value - Call by Value 는 메서드를 호출할 때 값을 넘겨주기 때문에 Pass by Value 라고도 부르기도 함 - 메서드를 호출하는 호출자 (Caller) 의 변수와 호출 당하는 수신자 (Callee) 의 파라미터는 복사된 서로 다른 변수 - 값만을 전달하기 때문에 수신자의 파라미터를 수정해도 호출자의 변수에는 아무런 영향이 없음 2) Call by Reference - Call by Reference 는 참조 (주소) 를 직접 전달하며 Pass By Reference 라고 부르기도 함 - 참조를 직접 넘기기 때문에 호출자의 변수와 수신자의 파라미터..

이론 공부 2023.03.28

자바 메모리 영역

1. Static 영역 - method 영역 내에 static 영역 존재 : 메모리 제일 먼저 할당 받음 1) static 영역 - static 영역이 non static 영역을 참조하는 건 불가능, 가장 먼저 만들어지는 영역이기 때문에 static이 실행될 때 non static은 만들어지기 전이기 때문 2) non static 영역 - static 영역의 데이터 참조 가능 - 그냥 int a = 3과 같은 기본 변수는 stack영역에 들어감 - Student b = new Student(); 와 같이 객체를 생성하는 경우 stack에 b를 참조할 수 있는 주소가 들어가고, 실제 값은 heap영역에 존재함 + heap영역에는 배열, 리스트, 클래스, String 등 값 등이 들어감 2. 변수 유효 범위..

이론 공부 2023.03.27

Getter / Setter 사용 이유

[1] getter / setter 사용 이유 일반적으로 프로그래밍을 할 때, 객체들의 데이터(필드)를 외부에서 직접적으로 접근하는 걸 막아놓음 = 객체들의 데이터(필드)를 private 접근 제한자로 막아두고, 각 필드의 Getter / Setter 로 접근하는 방식 사용 이렇게 프로그래밍 하는 이유는? 객체의 무결성을 보장하기 위해 ! (객체의 외부에서 직접적으로 접근하는 경우 객체의 조건에 맞지 않는 값을 줌으로써 객체의 무결성이 깨지는 일이 발생할 수 있음) ex. weight 몸무게 필드가 존재할 때, 외부에서 바로 접근할 경우 -100 이런식으로 무결성이 깨지는 일이 발생 가능 ▶ 이를 방지하기 위해 필드를 private으로 만들어 외부에서 접근을 제한한 후, Setter를 사용해 전달받은 값..

이론 공부 2023.03.21

자바 이론 정리 1

1. 기계어 - CPU가 직접 해독하고 실행할 수 있는 비트 단위로 쓰인 컴퓨터 언어, 컴퓨터(CPU)가 별다른 해석(컴파일) 없이 읽을 수 있는 프로그래밍 언어 - 기종마다 기계어가 다르므로 언어의 호환성이 없음 2. 저급 언어 / 고급 언어 1) 저급 언어: - 기계가 이해하기 쉽게 작성된 프로그래밍 언어 (기계 중심의 언어로, 실행 속도가 빠름) ex. 기계어, 어셈블리어 - 어셈블리어: 기계어를 사람이 이해하기 쉽게 1:1로 대응시켜 기호화한 프로그램 언어, 기계어로 번역하기 위해서는 어셈블러가 필요 2) 고급 언어 - 사람이 이해하기 쉽게 작성된 프로그래밍 언어, 실행을 위해 번역하는 과정이 필요하므로 실행속도가 상대적으로 느림 ex. C언어, 자바 3. 컴파일 소스코드(.java) - > 바이..

이론 공부 2023.03.21

JAVA 기본 클래스

[1] 클래스 - 객체 지향 언어에서는 현실 세계를 반영하기 위해 객체(Object)라는 개념을 도입 - 현실 세계의 자동차, TV, 노트북 등이 객체 지향 언어에서는 객체로 표현됨 Class Car { String a = "a"; int b = 1; // 객체가 가지는 데이터 정의 public void CarA() { // 연산(함수, 행동) 정의 System.out.println(a); } } 1) 클래스 - 객체를 생성하기 위해 그 객체가 어떤 데이터를 가지고 어떤 연산을 하는지에 대해 정의 (클래스 안에는 데이터가 있고, 이 데이터들을 활용하여 행동을 정의함) - 자바에서는 모든 데이터를 객체로 취급하기 때문에, 클래스를 정의한 이후에 클래스를 통해 객체를 생성해야 함 (객체는 new라는 키워드를..

이론 공부 2023.03.20