본문 바로가기

분류 전체보기135

CI/CD 에 대한 간단 정리 CI/CD : 지속적인 통합과 배포를 통해 애플리케이션 개발 단계를 자동화하여 고객에게 보다 짧은 주기로 서비스를 제공하고 개선하는 방법 CI(Continuous Integration) 지속적인 통합(Continous Intergration)은 개발자가 작업한 코드를 자동으로 테스트하고 테스트에 통과하면 코드를 통합하여 저장 지속적인 통합이라는 뜻으로 어플리케이션의 새로운 코드 변경사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합되는 것을 의미한다. 이런 경우 CI를 적용하면 좋아요 - 다수의 개발자가 형상관리 툴을 공유하며 사용하는 환경 : 여러 개발자가 한 팀으로 작업하면 공유 레포지토리에 수많은 commit들이 쌓이게 되는데, 그때마다 기능별로 빌드/테스트/병합을 하기엔 번거로우니 자동.. 2022. 2. 14.
3-Tier Architecture 정의 및 구성방식 목차 LIST 3-Tier Architecture of Web Application 이란? "3-tier 아키텍처는 다중 계층 아키텍처에서 가장 널리 사용되며 단일 프레젠테이션 계층, 로직 계층 및 데이터 계층으로 구성된다." 3-tier architecture는 모든 계층이 3개의 논리 계층으로 분할되는 아키텍처 패턴이다. 첫 번째 계층 Presentation Tier(Client) - 일반 사용자가 직접 액세스 할 수 있는 프레젠테이션 계층 콘텐츠를 HTML/JS/CSS 형식으로 브라우저에 전송하는 계층(React, ..) 모든 HTTPS 지원 클라이언트 또는 장치와 통신할 수 있으므로 프레젠테이션 계층은 다양한 형식(데스크톱 어플리케이션, 모바일 앱, 웹페이지, IoT 장치 등)을 유연하게 수행 .. 2022. 2. 13.
[통신] TCP/UDP 가볍게 읽고 기억하기, TCP vs IP TCP / UDP ? 전송 계층(Transport Layer)은 송신자와 수신자를 연결하는 통신 서비스를 제공하고 IP에 의해 전달되는 패킷의 오류를 검사하여 재전송 요구 제어 등을 담당하는 계층이다. 즉, 데이터의 전달을 담당한다. 전송 계층에서 사용하는 전송방식 TCP, UDP TCP(Transmission Control Protocol)? 응용 프로그램과 컴퓨팅 장치가 네트워크를 통해 메시지를 교환할 수 있도록 하는 통신 표준이다. 인터넷을 통해 패킷을 전송하고 네트워크를 통해 데이터와 메시지를 성공적으로 전달하도록 설계되어 있다. 또한, 인터넷의 규칙을 정하는 기본 표준 중 하나로 인터넷 특별 위원회(IEIF)가 정의한 표준 안에 포함된다. 디지털 네트워크 통신에서 가장 일반적으로 사용되는 프로.. 2022. 2. 13.
Virtualization(가상화)란 무엇인가? | Hypervisor(하이퍼바이저) 가상화란? 가상화를 관리하는 소프트웨어(하이퍼바이저)를 사용하여 하나의 물리적 머신에 가상 머신(VM)을 만드는 프로세스로 가상화 층을 구현하여 물리적 머신의 컴퓨팅 리소스로부터 가상 환경을 분리하고 가상 머신을 생성한다. VM은 물리적 머신과 동일한 역할 및 성능을 수행하지만 실제로 CPU,메모리,스토리지 등은 물리적 머신의 컴퓨팅 리소스를 사용한다. 즉 운영 체제(OS), 서버, 스토리지 장치 또는 네트워크 리소스 등의 실제 버전이 아닌 가상 버전을 생성하는 것이다. 하이퍼바이저가 설치된 물리 하드웨어를 호스트라고 하며 그 리소스를 사용하는 여러 VM을 게스트라고 한다. 게스트는 CPU, 메모리, 스토리지 등의 컴퓨터 리소스를 처리하는 리소스 풀로, 쉽게 재배치할 수 있다. 즉, 하나의 물리적 서버에.. 2022. 2. 13.
NoSQL이란 무엇인가? | 이점, 단점, SQL vs NoSQL NoSQL 데이터베이스? 비관계형 데이터베이스 특정 데이터 모델의 목적에 맞추어 구축되는 데이터베이스로 유연한 스키마를 가지고 있다. (1)DocumentDB - MongoDB 데이터를 json document 형태로 저장한다. 원하는 어떤 형태든 저장이 가능하며 데이터가 같은 모양일 필요가 없다. (2)Key/valueDB - Cassandra, AWS Dynamo Cassandra는 읽고, 쓰기가 매우 빠르다. 굉장히 많은 수의 아이템을 1초만에 쓸 수 있다. 그래서 애플이 cassandra를 이용해서 10PB 데이터 저장하고 있으며 넷플릭스, 우버, 인스타그램 등에서도 사용하고 있다. 검색엔진처럼 많은 양의 데이터를 빠르게 읽어야 하는 경우 좋다. DynamoDB - serverless, distr.. 2022. 2. 12.
[DB] 트랜잭션 ACID 간단하게 알아보자 트랜잭션? 데이터베이스 작업의 단위 쿼리가 실행될 때 동일한 Connection 객체를 공유하여 에러가 발생한 경우 진행 중인 모든 과정을 되돌리기 위함이다. 쿼리가 실행될 때 실패하면 트랜잭션 단위로 롤백한다. 트랜잭션 ACID? 원자성(Atomicity) : 트랜잭션에 포함된 작업은 모두 수행되거나 수행되지 않아야 함 일관성(Consistency) : 트랜잭션을 수행하기 전이나 후에 데이터베이스는 항상 일관된 상태를 유지해야 함 고립성(Isolation) :수행 중인 트랜잭션에 다른 트랜잭션이 끼어들어 변경 중인 데이터 값을 훼손하지 않아야 함 지속성(Durability) : 수행을 성공적으로 완료한 트랜잭션은 변경한 데이터를 영구히 저장해야 함 Reference https://mangkyu.tist.. 2022. 2. 11.
반응형