프로그래밍-Science(15)
-
[개념정리] DLL
dynamic link library - 실행 파일에서 해당 라이브러리의 기능을 사용할때만 호출, 위치정보로만 라이브러리를 필요할때 call하니까 리소스를 적게 먹는다
2021.01.14 -
[개념정리] Transaction , Lock
DB의 concurrency를 컨트롤하는 대표적인 방법이 Lock이다. 이는 하나의 트랜젝션이 실행되는 동안, 특정 데이터 항목에 대해 다른 트랜젝션이 접근하지 못하게 만드는 것. - Transaction DB는 기본적으로 All or Nothing 방식을 취한다. 즉, DB에 Insert되는 상황에 대해서는 모두성공 또는 모두실패라는 결과 중 하나만 리턴한다는 것이다. 이 전략을 위해 취하는 것이 트랜젝션이다. 얘는 더이상 나누어지지 않는 하나의 단위다. 트랜젝션은 조금이라도 오류가 발생하면 모두 Rollback함으로써 Nothing의 결과를 리턴한다. 이 트랜젝션은 Atomicity, Consistency, Isolation, Durability의 특징을 갖는다. Atomicity은 All or No..
2021.01.08 -
[자바스크립트] 연결리스트, 집합 정리
1. 연결리스트 정의: 일련의 원소를 차례대로 저장하지만, 메모리상에서는 이웃해있지 않다. 다만 각 노드는 원소의 값과 포인터(참조정)로 구성되어 있고, 포인터는 다음 원소의 위치를 가리킨다 특징: 원소의 추가,삭제시 배열이 바뀌지 않지만, 특정 원소 검색시 모든 Loop를 돌아야 한다 head는 연결이 시작되는 지점을 참조한다 위 코드의 this.메소드에 해당되는 메소드들이다 이때 next는 다음 프로퍼티를 가리키는 포인터이다. 얘가 null이 되면 마지막 원소를 찾은 것이다 이때 실제 노드는 연결이 끊어졌으므로 가비지컬렉터가 수거해 감 앞뒤로 순회가 가능함 일일이 tail도 설정해줘야한다는 부분만 추가된다. 2. 집합 정의: Set. 중복된 원소가 없다. 합집합, 교집합, 차집합, 부분집합으로의 사용
2021.01.07 -
[자바스크립트] 배열, 스택, 큐, 연결 리스트, 집합 정리
1. 배열 정의 : 동일한 데이터 타입을 연속으로 저장(다만 JS는 동일하지 않아도 됨) new Array[크기) : 배열 생성 push(): 뒷부분 원소 추가, 스택에서 비롯된 메소드 pop(): 뒷부분 원소 제거, 스택에서 비롯된 메소드 unshift(): 앞부분 원소 추가, 큐에서 비롯된 메소드 shift(): 앞부분 원소 제거, 큐에서 비롯된 메소드 splice(index, 삭제할 원소 갯수): 특정 원소 삭제 배열1.concat(배열2): 배열1+배열2로 새로운 배열 만들기 배열.every(함수): 함수의 리턴값이 false가 될 때까지 배열 원소들을 순회 배열.true(함수): 함수의 리턴값이 true가 될 때까지 배열 원소들을 순회 map, filter, reduce: 새로운 Array 리턴..
2021.01.07 -
[운영체제 개정 3판] 4) 프로세스와 스레드
프로세스 - 다중 프로그래밍 환경에서는 여러 프로그램을 메모리에 적재하여 병렬 실행 - 비동기적 행위 - 프로세스: 실행 중인 프로그램-> 실행중: 디스크에 있던 프로그램을 메모리에 올려 OS가 제어하는 상태 (예컨데 브라우저 2개를 열면 프로세스 2개가 열림) - 즉, 실행중인 프로그램의 인스턴스 스레드 - 프로세스 내에서 실행되는 여러 흐름의 단위 - Code, Data, Heap을 공유하나, 스레드 실행 환경정보, 지역 데이터, 스택은 독립적 - 사용예시: 워드 문서 작성시 텍스트 view / 백업/ 사용자 키입력이 별개의 스레드
2021.01.07 -
[운영체제 개정3판] 2) 컴퓨터 시스템의 동작
컴퓨터 시스템의 작업처리 순서 입력장치로 정보 받기-> 메모리에 저장-> 저장된 데이터를 제어에 따라 인출-> 연산장치가 처리-> 처리한 정보를 출력장치가 표시or 보조기억장치에 저장 컴퓨터에 유입되는 정보 명령어 연산자(실행할 연산), , 피연산자(데이터(명령어가 처리할 데이터)와 데이터를 저장한 메모리나 레지스터 주소) 보통 명령부(연산자)-주소부(피연산자)로 구성되어 있다 연산자 피연산자: 보통 데이터 직접 저장 안하고 주소를 저장, 주소는 직접주소, 간접주소로 구분된다 실행 제어장치가 명령어를 실행 사이클 인출(fetch) 사이클 저장된 주소를 내부 버스를 이용하여 MAR(메모리 주소 레지스터)에 전달 주소에서 명령어를 인출하여 MBR(메모리 버퍼 레지스터)에 저장 제어장치가 저장된 내용 읽어 신..
2021.01.07