GUI - sourcetree master : 로컬 저장소 버전 origin/master : 원격저장소 버전 Branch : 협업할때 사용. 줄기를 가지로 나눔. merge : 브랜치와 브랜치를 합침 master에서 feature/cart, feature/detail-page로 나눠진 상태에서 head는 master에 놓고(필요하면 checkout) feature/detail-page를 merge 한다.(트리에서 오른쪽클릭 병합 또는 왼쪽 브랜치 목록에서 현재 브랜치로 feature/detail-page 병합) sourcetree에서 fast-forward가 가능해도 새 커밋으로 생성을 체크하면 명시적으로 병합 커밋을 만들어 기록이 남는다. 이건 취향차이 이제 feature/cart 브랜치를 master..
모든 프로그램은 우선 메모리에 적재되어야 실행이 가능하므로 메모리는 프로그램을 실행하는 중요한 작업 공간이다. 그리고 다중 프로그래밍 환경에서는 한정된 메모리를 여러 프로세스가 함께 사용하므로 이를 효율적으로 관리하는 방법이 필요하다. 메모리 관리는 프로세스들을 위해 메모리를 할당하고 제거하며 보호하는 활동이다. 메모리 관리와 관련된 주요 정책 1. 적재 정책 : 디스크에서 메모리로 프로세스를 반입할 시기를 결정하는 것. (요구적재, 예상적재) 2. 배치 정책 : 디스크에서 반입한 프로세스를 메모리 어느 위치에 저장할 것인지 결정. 최초적합, 최적적합, 최악적합 등 3. 대치 정책 : 메모리가 충분하지 않을 때 현재 메모리에 할당된 프로세스 중 제거할 프로세스를 결정하는 교체 방법. 선입선출, 최근최소사..
다중 프로그래밍의 장점 : 1. 프로세서 이용률 ↑. 2. 프로세서 처리율 ↑ 스케줄링 : 여러 프로세스가 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에 할당할지 결정하는 것. 시스템의 성능에 영향 프로세스 버스트 : 프로세스를 프로세서에서 실행할 때 입출력 버스트 : 프로세스가 추가로 실행하려고 입출력을 기다리고 있을 때 프로세스는 입출력 버스트 후 다음 프로세서 버스트를 위해 준비큐로 이동 스케줄링의 단계 큐잉 도표 : 스케줄링을 표현하는 방법이다.(큐 : 사각형, 자원 : 원, 프로세스 흐름 : 화살표) 장기 스케줄러는 작업 스케줄러라고도 하며, 스케줄링에 따라 디스크에서 메모리로 작업을 가져와 처리할 순서를 결정한다. 작업 스케줄링에 필요한 정보로 제출시간, 작업이름, 작업길이(용량) 등이 ..
git 설치 https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EC%84%A4%EC%B9%98 github 가입 소스트리 : git 사용을 도와주는 GUI 프로그램 https://www.sourcetreeapp.com/ git config --global user.email "" : 깃 처음 사용할때 이메일 지정 git config --global user.name "" : 깃 처음 사용할때 처음에 이름 입력 git init : 현재 경로에 .git이라는 폴더 생성.(로컬 저장소) git add : 커밋에 추가할 파일 선택 git commit -m '' : 커밋 설명 git remote add origin ~~ : 원격저장소..
병행 프로세스 : 프로세서 하나를 여러 프로세스를 동시에 실행하는 것처럼 보이는 것. 독립 프로세스와 협력 프로세스로 구분 => 공유 자원을 상호 배타적으로 사용한다.(상호 배제와 동기화) 선행그래프, fork와 join구조, 병행문장 상호배제 : 병행 프로세스에서 프로세스 하나가 공유 자원을 사용할 때 다른 프로세스가 해당 데이터에 접근할 수 없게 하는 것 동기화 : 공유 자원을 동시에 사용하지 못하게 실행을 제어하는 방법. 임계자원 : 두 프로세스가 동시에 사용할 수 없는 공유 자원 임계영역 : 임계자원에 접근하고 실행하는 프로그램 코드 부분 임계영역은 1상호배제, 2진행, 3한정 대기 조건을 만족해야 한다. 상호배졔 방법 : 데커의 알고리즘, 테스 명령어, 세마포, 모니터 데커의 알고리즘 : 두 프..
컴퓨터 : 하드웨어 + 소프트웨어 하드웨어 메모리 물리적 주소 : 컴퓨터에 주어진 주소 논리적 주소 : 컴파일러가 프로그램을 기계 명령어로 변환할 때 변수와 명령어에 할당하는 주소 논리적 주소 =>매핑=> 물리적 주소 운영체제(Operating System) : 사용자와 하드웨어 사이의 중간 매개체로 응용 프로그램의 실행을 제어하고 자원을 할당 및 관리하며 입출력 제어 및 데이터 관리와 같은 서비스를 제공하는 소프트웨어 커널 : OS의 기본기능을 실행하는 부분. 일괄 처리 시스템 : 데이터를 모았다가 일괄 처리하는 시스템(초기) 다중 프로그래밍 시스템 : 프로세서가 유휴상태일 때 둘 이상의 작업이 프로세서를 전환하여 사용할 수 있도록 동작. 마치 많은 사용자의 프로그램이 거의 동시에 프로세서를 할당받는 ..
에러 처리 에러는 언제나 발생할 수 있기 때문에 try, catch 문을 사용해 에러에 적절하게 대으으하면 프로그램이 강제 종료되지 않고 계속해서 코드를 실행시킬 수 있다. Error 객체 Error 생성자 함수는 여러 객체를 생성한다. Error 생성자 함수에는 에러를 상세히 설명하는 에러 메시지를 인수로 전달할 수 있다. Error 생성자 하뭇가 생성한 에러 객체는 message 프로퍼티와 stack 프로퍼티를 갖는다. 자바스크립트는 Error 생성자 함수를 포함해 7가지의 에러 객체를 생성할 수 있는 Error 생성자 함수를 제공한다. Error, SyntaxError, ReferenceError, TypeError, RangeError, URIError, EvalError throw 문 에러를 발..
프로미스 비동기 처리를 할때 콜백 패턴의 단점 1. 콜백 헬 비동기 함수는 비동기 처리 결과를 외부에 반환할 수 없고, 상위 스코프의 변수에 할당할 수도 없다. 따라서 비동기 함수의 처리 결과에 대한 후속 처리는 비동기 함수 내부에서 수행해야 한다. 이때 비동기 함수를 범용적으로 사용하기 위해 비동기 함수에 비동기 처리 결과에 대한 후속 처리를 수행하는 콜백 함수를 전달하는 것이 일반적이다. 필요에 따라 비동기 처리가 성공하면 호출된 콜백 함수와 비동기 처리가 실패하면 호출될 콜백 함수를 전달할 수 있다. 이렇게 또다시 비동기 함수를 호출해야 한다면 콜백 함수 호출이 중첩되어 복잡도가 높아지는데 이를 콜백 헬이라 한다. get('/step1', a => { get(`/step2/${a}`, b => { ..
