본문 바로가기

[백엔드TIL] AWS 서비스의 활용경험(81일차) AWS S3, EC2를 사용하는 이유와 사용 경험에 대해서 답변해주세요. S3 확장성: AWS S3는 필요에 따라 데이터 저장 공간을 확장할 수 있는 무한한 스케일링을 제공합니다. 데이터 양이 증가하더라도 추가적인 서버 또는 인프라를 관리할 필요 없이 저장 용량을 증가시킬 수 있습니다. 내구성과 가용성: AWS S3는 데이터를 여러 가용 영역에 복제하여 데이터 손실을 방지하고 고가용성을 제공합니다. 데이터는 99.999999999%의 내구성을 보장합니다. 보안: AWS S3는 데이터를 암호화하고 접근 제어를 설정하는 기능을 제공하여 데이터 보안을 강화합니다. 비용 효율성: AWS S3는 사용한 만큼만 비용을 지불하므로 미리 예측 가능한 비용을 유지할 수 있습니다. EC2 가상 서버: AWS EC2는 가상.. 더보기
[백엔드TIL] Spring 스케쥴러 (80일차) batch도 있고 quartz도 있는데 왜 scheduler? 서버에서 일괄처리를 하기 위해서 spring에서 3가지 방법을 제공하는데 batch, queart, scheduler가 있다. 이들의 차이점은 1)batch : 여러 job을 순차적으로 처리 2)quartz scheduler : 특정 job을 특정 시간에 처리 하기 위해서 사용된다고 한다. 나는 특정 시간에 특정 job(API에서 데이터를 가져오는)만 처리하면 되기 때문에 batch는 해당사항이 없고, quartz랑 scheduler중에 뭘 사용할지 고민했다. 찾아보니 quartz는 scheduler보다 구현하기 복잡했고, 스케쥴링의 세밀한 제어가 필요하거나 클러스터링이 필요할때 사용하면 좋을거 같았다. 나는 단순한 scheduling이 필요.. 더보기
[백엔드TIL] Array, LinkedList에 대해 설명(79일차) Array (배열) 정의: 배열은 고정된 크기의 연속적인 메모리 공간에 원소들을 저장하는 자료구조입니다. 특징: 고정된 크기: 배열은 생성 시에 크기가 정해지며, 이후 크기를 동적으로 변경하기는 어렵습니다. 인덱싱: 배열의 원소에는 인덱스를 사용해 접근할 수 있으며, O(1) 시간에 해당 원소를 찾을 수 있습니다. 메모리 사용: 연속적인 메모리 공간을 사용하므로 메모리 관리에 용이합니다. 주요 작업의 시간 복잡도: 원소 조회 (인덱싱): O(1) 원소 추가/삭제 (끝에서): O(1) 원소 추가/삭제 (중간): O(n) LinkedList (연결 리스트) 정의: 연결 리스트는 노드(Node)들의 집합으로, 각 노드는 데이터와 다음 노드를 가리키는 포인터로 구성됩니다. 특징: 동적 크기: 연결 리스트는 동적.. 더보기