정리 4

01. 신뢰할 수 있고 확장 가능하며, 유지보수하기 쉬운 애플리케이션

지난주부터, '데이터 중심 애플리케이션 설계'라는 책을 스터디하기 시작했다. 책을 읽으며, 중요하다고 생각하는 부분에 대해 짧게 요약정리(+약간의 개인적 생각이 들어간...) 해보고자 한다. 이번 포스팅에서는 첫 챕터인, "01. 신뢰할 수 있고 확장 가능하며 유지 보수하기 쉬운 애플리케이션" 부분을 다뤄 보았다. 목차 1. 신뢰성 2. 확장성 3. 유지보수성 01. 신뢰성 신뢰성이란, 결함이 발생해도 시스템이 올바르게 동작하게 만드는 것을 말한다. 결함률이 0이 되도록 설계하는 것은 불가능하다. 오히려, 결함이 발생하더라도 결함으로 인한 장애가 발생하지 않도록 내결함성을 갖추게 설계하는 것이 좋다. (보안 이슈는 제외) 내결함성을 갖추도록 설계하면, 특정 유형의 결함이 발생하였을 경우 사용자에게 결함을..

깃(Git) 개념 및 핵심 명령어 총 정리 (1)

01. Git이란? 코드의 버전 관리 시스템 중 하나 코드를 짤 때는, 여러 명이 협업해서 하나의 버전을 생성되기 때문에, 되돌리는 과정 등이 부가적으로 필요하다. 또한 중간마다 변화사항이 생길 때마다 백업도 필요한데, 유의미한 변화를 중심으로 효율적 백업이 필요하다. 이런 버전 관리작업을 돕는 도구 중 하나가 바로 Git 이다! 02. Github란? 각자의 컴퓨터에만 존재하는 버전(local에서 만들어준 버전)을 저장/관리해주는 서비스 우리가 만약 원격 저장소에 저장을 한다면, 레포지토리에 저장된 모든 버전들을 저장할 수 있다. 03. Git 버전에 대하여 3-1. Git 내에서 버전이 생성되는 단계 Git은 세 개의 공간이 존재한다. 1. working directory (작업공간) : 내가 코드 ..

07. [쉽배운 3장] 프로세스와 스레드

목차 프로세스란? 프로그램과 프로세스 프로세스의 상태 프로세스 제어 블록(PDB) 스레드 01. 프로세스란? 프로그램이 메모리 상태에 올라가 동적인 상태인 것이 프로세스다. 1-1. 프로세스 구조 코드영역, 데이터영역, 스택영역으로 분리된다. 코드영역 프로그램 본문 기술. 요리책과 같음. 데이터영역 사용해야 하는 데이터. 요리의 재료와 같음. 스택영역 프로세스를 운영할 때 필요한 데이터. 조리도구와 같음. 예를 들면, 프로세스에서 함수 실행시키면 함수 실행 후 다시 돌아 올 위치 등을 저장함. 이는 사용자에게 보이지 않음. 1-2. 시분할 방식 시분할 방식이란, CPU가 시간을 쪼개 프로세스에게 각각 할당하여 프로세스를 처리할 수 있는 방법이다. 이는 CPU의 효율을 높이기 위한 방법 중 하나다. 음식점..

06. [쉽배운 2장] 컴퓨터의 구조와 성능 향상

앞서, 운영체제의 개요를 공부해보았다. https://eng-sohee.tistory.com/42?category=1026344 05. [쉽배운 1장] 운영체제의 개요 쉽배운 = 쉽게배우는 운영체제 내가 이번에 산 책이다. 왜 내가 구글링을 이용해 운영체제를 공부하다가 책을 구매했는지, 그리고 책을 선정하게 된 기준 및 계기는 무엇인지느 아래 ※ 이전 포 eng-sohee.tistory.com 오늘은, 컴퓨터의 구조와 성능 향상에 대해 공부한 내용을 정리해볼 것이다. 목차 컴퓨터의 기본 구성 CPU와 메모리 컴퓨터 성능 향상 기술 병렬 처리 01. 컴퓨터의 기본 구성 1-1. 컴퓨터 하드웨어의 구성 1 중앙처리장치(CPU) 명령어를 해석해서 실행하는 장치. 인간의 두뇌와 같다. 2 메모리 메인메모리(제1..