기타(34)
-
Github Actions
Github Actions란Github Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼입니다. repository에 대한 모든 pull 요청을 빌드 및 테스트하거나 병합된 끌어오기 요청을 프로덕션에 배포하는 워크플로를 만들 수 있습니다.Github Actions의 특징컨테이너(도커) 기반으로 동작개발자는 워크플로를 작성하여 다양한 이벤트를 기반으로 실행 가능워크플로는 runners라 불리는 인스턴스 내에서 실행됨Github 마켓 플레이스에서 여러 사람이 공유한 워크플로를 찾아서 사용할 수도 있고 직접 만들어서 공유도 가능YAML로 작성Github Actions의 장점별도의 서버 설치가 불필요. 제공해주는 클라우드가 있음비동기적 병렬 실행이 가능한 CI/CDGithu..
2024.10.10 -
Kafka가 빠른 이유
Sequential I/O일반적으로 RAM은 랜덤 액세스를 지원히자만, 디스크는 데이터가 위치하는 블록을 찾는 시간과 찾은 데이터 블록을 메모리에 카피하는 시간 등의 오버헤드가 존재합니다. 데이터가 RAM에 이미 존재한다면 이 과정은 생략되지만, 그렇지 않다면 page fault가 발생하여 느리게 인식됩니다. 하지만 대용량의 데이터를 처리하는데 그 모든 데이터를 RAM에 올리는 것은 현실적으로 어려움이 많습니다.Kafka는 디스크를 저장소로 사용하는 대신 Sequential I/O를 통해 탐색시간을 최소화합니다. Kafka의 데이터는 consumer가 읽어도 지워지지 않으며, 데이터는 맨 끝에 추가만 됩니다. 이로 인해 Kafka의 데이터는 디스크에 조각으로 나누어지지 않고 연속적인 블록에 저장됩니다. ..
2024.07.25 -
WEB 3.0
WEB 3.0이란 WEB 3.0은 인공지능과 블록체인을 기반으로 맞춤형 정보를 제고하고 데이터 소유를 개인화하는 3세대 인터넷입니다. 기존에 사용하던 서비스에서 인공지능을 통해 개인 맞춤형 정보를 얻고, 블록체인을 통해 개인의 정보 소유 및 보안을 강화하는 지능형 웹 기술입니다. 앞선 WEB 세대별 특징 WEB 1.0 WEB 1.0은 읽기 중심의 초기 인터넷 기술입니다. 과거의 웹 페이지는 소유자가 제공하는 정보만을 확인할 수 있었습니다. 단순히 뉴스와 책 등을 인터넷으로 표현했다고 생각하면 됩니다. 사용자는 정보를 게시할 수 없고, 단순히 웹페이지에서 제공하는 정보만을 확인할 수 있습니다. WEB 2.0 WEB 2.0은 이전의 읽기 중심에서 쓰기가 가능해졌습니다. 이에 따라 다양한 정보의 상호작용이 가..
2023.12.24 -
3-Tier Architecture
3-Tier Architecture란 3-Tier Architecture는 애플리케이션을 프레젠테이션 계층 또는 사용자 인터페이스, 데이터가 처리되는 애플리케이션 계층 그리고 애플리케이션과 관련된 데이터가 저장 및 관리되는 데이터 계층이라는 3개의 논리적이고 물리적인 컴퓨팅 계층으로 구성되는 소프트웨어 애플리케이션 아키텍처입니다. 3-Tier Architecture 상세 설명 프레젠테이션 계층 프레젠테이션 계층은 사용자가 애플리케이션과 상호작용하는 사용자 인터페이스 및 커뮤니케이션 계층입니다. 해당 계층의 목적은 정보를 표시하고 사용자로부터 정보를 수집하는 것입니다. 예를 들어 웹 브라우저, 데스크탑 애플리케이션, GUI 등에서 보여지는 화면 부분이라고 볼 수 있습니다. 애플리케이션 계층 애플리케이션 계..
2023.11.01 -
Ansible
Ansible이란 Ansible이란 python으로 오픈소스로 서버의 프로비저닝, SW 배포 등의 자동화를 관리해주는 도구입니다. Ansible의 특징 Agentless 타 자동화 도구들은 타겟 대상들에 Agent 설치 기반 PULL 방식으로 동작하는 것에 비해 Ansible은 타겟 대상들에 Agentless 기반의 PUSH 방식으로 동작하기 때문에 기술적, 지리적 제한이 보다 넓습니다. 멱등성 어떤 연산이 여러분 수행되더라도 결과가 달라지지 않는 성질을 의미합니다. Ansible 또한 동일한 모듈을 반복 실행해도 결과가 동일하도록 구성되어 멱등성을 일관되게 수행할 수 있습니다. Ansible의 구성 요소 Module Ansible에서 실행되는 개별 작업의 정의입니다. 대상 호스트에서 실행하는 라이브러리..
2021.12.27 -
Vuex
Vuex란 Vuex란 Vue.js의 상태관리를 위한 패턴이자 라이브러리입니다. Vue.js의 반응성 체계를 효율적으로 활용하여 화면을 업데이트 한다는 특징이 있습니다. 애플리케이션의 모든 컴포넌트에 대한 중앙 집중식 저장소 역할을 하며 예측 가능한 방식으로 상태를 변경할 수 있습니다. Vuex가 필요한 이유 컴포넌트 사이에 용이한 데이터 전달 복잡한 애플리케이션에서 컴포넌트 개수가 많아지면 컴포넌트 간에 데이터 전달이 어려워집니다. Vuex는 이를 해결하기 위해 데이터 통신을 한 곳에서 중앙 집중식으로 관리하기 때문에 데이터 전달을 용이하게 합니다. 컴포넌트 사이의 데이터 흐름 파악 Vue의 컴포넌트 방식인 props, event emit 때문에 중간에 거쳐가야 할 컴포넌트가 많아지거나 이를 피하기 위해..
2021.06.01