본문 바로가기

전체 글48

트랜잭션과 ACID 트랜잭션과 ACID 트랜잭션은 작업수행의 논리적 단위, query를 하나의 묶음으로 처리해서 오류가 생기면 Rollback하고 오류가 없으면 commit을 하는 즉 한 묶음의 query가 전부 다 수행되거나 수행되지 않는 작업수행의 논리적 단위 트랜잭션을 사용하는 이유는 데이터 정합성을 위해서입니다. 병렬성을 유지하면서도 데이터의 정합성이 깨지지 않게 하기 위해 이런 논리적 단위를 사용합니다. 트랜잭션의 4가지 특성으로는 ACID 가 있습니다. A 원자성 (Atomicity) 트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장하는 것 All or Nothing의 개념으로 작업 단위의 일부만 실행하지 않는다는 것을 의미 C 일관성 (Consistency) 트랜잭션이 성공적으로 완료되면 일관적인.. 2022. 5. 31.
MongoDB Between 조건으로 조회하기 MongoDB Between 조건으로 조회하는법을 정리했습니다. 데이터 적재 db.items.insertMany([ { 'name' : 'zzai_sang', 'createdAt' : new ISODate('2022-05-26T00:00:00.000Z') }, { 'name' : 'sang_zzai', 'createdAt' : new ISODate('2022-05-23T15:23:00.000Z') }, { 'name' : 'sangjae_kim', 'createdAt' : new ISODate('2022-05-24T10:55:00.000Z&#.. 2022. 5. 27.
MongoDB Query 날짜 조건으로 조회하기 MongoDB 에서 날짜 조건으로 검색하는 경우가 많습니다. 한방에 정리 했습니다. 데이터 적재 db.items.insertMany([ { 'name' : 'zzai_sang', 'createdAt' : new ISODate('2022-05-26T00:00:00.000Z') }, { 'name' : 'sang_zzai', 'createdAt' : new ISODate('2022-05-23T15:23:00.000Z') }, { 'name' : 'sangjae_kim', 'createdAt' : new ISODate('2022-05-24T10:55:00.000Z') }, { 'name' : 'kim_sangjae', 'createdAt' : new ISODate('2022-05-28T00:00:00.000Z.. 2022. 5. 26.
EC2 (Amazon Linux2) 에 docker & docker-compose 설치 EC2 (Amazon Linux 2) 에 Docker 설치 1. 인스턴스에 설치한 패키지 및 패키지 캐시 업데이트 $ sudo yum update -y 2. 최신 Docker Engine 패키지를 설치 $ sudo amazon-linux-extras install docker 3. Docker 서비스 시작 $ sudo service docker start (선택사항) 시스템이 재부팅될 때마다 Docker 데몬이 시작되도록 하기 $ sudo systemctl enable docker 4. sudo 없이 docker 명령어 실행할 수 있는지 확인 $ docker info EC2 에 docker-compose 설치 1. docker-compose latest (최신) 버전 설치 $ sudo curl -L ht.. 2022. 5. 12.
RabbitMQ Docker 설치 RabbitMQ Docker 설치 docker-compose 방식 설치 이미지별 차이점 management : 매니지먼트 툴이 있음 alpine : 가벼운버전 용량이 적음 version: '3.7' services: rabbitmq: image: 'rabbitmq:3.6.10-management-alpine' container_name: rabbitmq volumes: - ./.docker/rabbitmq/etc/:/etc/rabbitmq/ - ./.docker/rabbitmq/data/:/var/lib/rabbitmq/ - ./.docker/rabbitmq/logs/:/var/log/rabbitmq/ ports: - "5672:5672" - "15672:15672" environment: RABBITM.. 2022. 5. 11.
DSL이란?? DSL이란?? Domain-Specific Launguages 도메인 특화언어 (DSL) 도메인 특화 언어는 관련 특정 분야에 최적화된 프로그래밍 언어. DSL은 해당 분야 또는 도메인의 개념과 규칙을 사용. 도메인 특화 언어와 '진정한' 프로그래밍 언어와의 차이점 도메인 특화 언어는 일반적으로 Java, C, Ruby 등의 범용 언어보다 덜 복잡합니다. 보통 DSL은 해당 DSL이 사용될 분야의 전문가와 긴밀하게 협력하여 개발합니다. 대부분의 경우 DSL은 소프트웨어 전문가가 아닌, 해당 DSL의 대상 분야에 능통한 비 프로그래머가 사용하도록 제작됩니다. 예시 SQL 처럼 DB의 데이터를 참조하기 위해 작성되는 query 는 말 그대로 "DB에 데이터를 참조하기 위한 목적"으로만 사용되며.. 2022. 5. 11.