본문 바로가기

전체 글

(25)
Openvidu Session 연결하기 Openvidu란? : 웹과 모바일 환경에서 영상 통화 기능을 쉽게 추가할 수 있도록 하는 오픈소스 플랫폼 [ Openvidu Session 연결 순서 ] 1. WebRTC의 역할을 해줄 Openvidu Server 배포한다. 2. Openvidu와 통신하기 위한 의존성을 추가한다. // Openvidu 의존성 추가 implementation group: 'io.openvidu', name: 'openvidu-java-client', version: '2.18.0' 3. Openvidu Server의 정보를 담을 application-security.properties에 url과 secret 추가한다. (gitignore에 반드시 추가) # openvidu openvidu.url= #노출 금지 openv..
2023/02/24 TIL Parameter/Argument, 프로세스/스레드 Q1. Parameter와 Argument의 차이에 대해 설명해 주세요. 전달인자(Argument)는 메소드 호출 시에 전달되는 값 매개변수(Parameter)는 메소드에서 전달받은 값 public class ArgumentParameter { public static void main(String[] args) { int argument = 10; operation(argument); // 전달인자(Argument) } private static int operation(int parameter){ // 매개변수(Parameter) parameter += 10; return parameter; } } int argument가 operation() 메소드에 전달할 전달인자가 된다. int paramete..
AmazonS3Exception: The AWS Access Key Id you provided does not exist in our records. (Service: Amazon S3; Status Code: 403; 에러 해결 ⛔ 문제 상황 게시글 작성(S3 파일 업로드) API 구현 후, 로컬에서 게시글 작성(파일 업로드) 시 정상적으로 업로드 되지만 배포 후 서버에서 테스트시 업로드 되지 않고 해당 에러 발생함 아래와 같은 방법으로 해결해보려 했으나 처참히 실패하였다. 1. Access Key 값이 있는 yml 파일과 security 파일을 하나로 합침 2. 프로필 없이 실행 (평소 서버 실행하듯이 java -jar) 3. security 프로필로 실행 (java -jar -Dspring.profiles.active=[프로필명] [빌드된 jar 파일명]) 4. EC2 Role 에 S3ReadWrite Policy 추가 (EC2에서 S3을 읽을 수 있는 권한을 추가) ❓문제 원인 Spring 공식 문서에서 확인해본 결과 Al..
2023/02/23 TIL MSA, 제네릭, List / Set / Map / HashMap Q1. MSA(Microservice Architecture)란? : 하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 형태 🧐 마이크로서비스란? 작고, 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크 각각의 서비스는 1. 그 크기가 작을 뿐, 서비스 자체는 하나의 모놀리식 아키텍처와 유사한 구조를 갖는다. 2. 독립적으로 배포가 가능해야 한다. 3. 다른 서비스에 대한 의존성이 작아야 한다. *Monolithic Architecture의 문제점들을 보완하기 위해 MSA가 등장하였는데, 더보기 *Monolithic Architecture이란? 애플리케이션의 모든 구성 요소가 한 프로젝트에 통합되어 있는 형태 웹 개발을 예로 들면 웹 프..
2023/02/22 TIL DI 와 DB 인덱스 Q1. DI(Dependency Injection)에 대한 설명과 해당 기술의 장점에 대해 설명해주세요. 의존성 주입이라고 한다. 객체의 의존성을 개발자가 아닌 외부(IoC Container)에서 주입함으로써 객체 간의 결합을 약하게 해주며 유지보수가 쉬운 코드로 만들어준다. 스프링에서는 스프링 컨테이너가 Bean 설정 정보를 바탕으로 각 클래스의 의존관계를 자동으로 결정 및 연결해준다. 의존성 주입을 도와주는 DI 컨테이너로 강하게 결합된 클래스들을 분리하고, 애플리케이션 실행 시점에 객체 간의 관계를 결정해 줌으로써 결합도를 낮추고 유연성을 확보해준다. Q2. DB에서 인덱스를 잘 사용하면 어떤 장점과 단점이 있을까요? 🧐 인덱스란? 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료 구조이..