일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- DevOps
- POD
- EKS
- K8S
- EC2
- WSGI
- terraform
- 쿠버네티스
- IAC
- Python
- docker
- 자바스크립트
- event loop
- AZURE
- AZ-900
- ansible
- elasticsearch
- asgi
- dockerfile
- FastAPI
- Kubernetes
- AWS
- Network
- leetcode
- ebs
- intervals
- Django
- Deployment
- asyncio
- Service
- Today
- Total
목록분류 전체보기 (171)
궁금한게 많은 개발자 노트
RDBMS는 잘 알려져있듯 관계형 데이터베이스 관리 시스템을 의미합니다. 그렇다면 Elasticsearch는 무엇이고, 언제 사용하며 왜 RDBMS와 비교되는지 알아보고자 합니다. Elasticsearch는 Apache Lucene(아파치 루씬: 정보 검색 라이브러리) 기반 java 오픈 소스 분산 검색 엔진입니다. HTTP 웹 인터페이스와 스키마에서 자유로운 JSON 문서와 함께 분산 멀티테넌트(하나의 소프트웨어 인스턴스로 여러 사용자에게 서비스를 제공) 지원 전문 검색 엔진을 제공합니다. 데이터 저장소가 아니라 데이터 베이스를 대체할 수 없지만, 방대한 양의 데이터를 신속하고 거의 실시간으로 저장, 검색, 분석할 수 있는 엔진입니다. 데이터베이스에서도 데이터의 조회가 가능한데, 왜 검색 엔진이 필요할..
하나의 앱을 개발하기 위해서는 우선 목적과 요구사항에 맞는 아키텍처를 설계해야 합니다. 애플리케이션 아키텍처는 기본적으로 애플리케이션을 설계하고 구축하는 데 사용하는 패턴과 기술을 설명합니다. 아키텍처는 애플리케이션을 구추할 때 따라야할 로드맵과 모범 사례를 제공하여 체계적으로 구성된 애플리케이션을 완성할 수 있게 도와줍니다. 여기서 패턴은 문제에 대한 반복 가능한 솔루션을 의미합니다. 쉽게 설명해서 자주 발생하는 문제들을 미리 예방하기 위해 해결할 수 있는 템플릿을 만들어 적용하여 문제를 해결할 수 있도록 해줍니다. 이러한 패턴을 연결해 일반적인 애플리케이션 아키텍처를 만들 수 있습니다. 애플리케이션 아키테처의 종류 중 대표적으로 Monolithic 구조와 Microservice 구조가 있습니다. Mo..
kubernetes에서 pod를 배포하는 방법으로 statefulset과 deployment가 있습니다. 각각은 어떤 목적으로 사용되며 어떤 상황에서 어떤 자원을 사용하는 것이 더 효율적인지 알아보기 위해 각 특징에 대해 정리해보려 합니다. 이름에서 확인할 수 있는 특징으로는 stateful이라는 단어가 눈에 들어옵니다. state는 상태를 뜻하며 쉽게 유추할 수 있는 내용으로는 상태를 가지는 것과 그렇지 않은 것으로 나눌 수 있을 것 같습니다. stateless인 경우에는 상태를 저장할 필요가 없다는 의미로, 해당 어플리케이션이 종료되거나 재 생성되더라도 이전에 상태를 알 필요가 없고, 각 어플리케이션의 상태가 다른 어플리케이션과 의존성이 약한 경우 사용할 수 있을 것 같습니다. 반면, stateful..
Dockerfile을 작성하는 목적으로는 Docker에서 사용할 Image를 생성하기 위함입니다. 이 때 사용하는 아래 세가지 RUN, CMD, ENTRYPOINT 명령어는 이미지 생성 시에 실행과 관련된 명령어입니다. 각각의 세부적인 차이점을 정리하고자 합니다. RUN RUN 명령어는 Docker Image를 생성할 때 실행되는 명령어입니다. 즉, 이미지를 작성하기 위해 사용하는 명령어로 이미지 생성 시에 필요한 라이브러리를 설치할 때 주로 사용됩니다. (FROM으로 지정한 이미지 위에서 새로운 Docker 이미지를 생성할 때 실행되는 명령어) CMD CMD와 ENTRYPOINT는 기본적으로 생성된 이미지가 컨테이너에서 실행될 때 수행할 명령을 정의하는 문법입니다. 생성된 이미지가 컨테이너에서 실행될 ..
해당 문제는 LRU Cache의 put/get동작을 직접 구현하는 문제로 LRU란 Least Recently Used원칙으로 cache를 유지하는 규칙을 뜻합니다. 즉 cache의 capacity가 가득 찼을 때 put일 들어오면, 가장 최근에 접근하지 않은 content를 삭제하고, 최근에 접근한 것들의 우선순위를 높이는 방식입니다. (새로 추가되면 가장 우선순위가 높음) Linked List와 hash table을 활용하여 구현하였습니다. Linked List의 head, tail을 사용하여 가장 최근에 사용한 content를 head에 두고, 우선순위가 가장 낮은 것은 tail에 있습니다. double linked list로 구현하여 hash table에 (key, node)로 저장해두어 key로 ..