분류 전체보기
-
프로세스와 스레드CS 지식/운영체제 2020. 8. 17. 11:33
프로세스와 스레드 프로세스 사전적 의미 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 OS에서 메모리 영역을 할당받아 실행되는 독립적인 프로그램의 인스턴스 OS로부터 시스템 자원을 할당받는 작업의 단위 동적 개념으로는 실행된 프로그램을 의미 할당받는 시스템 자원 CPU 시간, 주소 공간, Code, Data, Stack, Heap 구조로 되어있는 독립된 메모리 영역 프로세스는 각각 독립된 메모리 영역을 할당 받는다. 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 직접 접근 불가. 다른 프로세스의 자원에 접근하려면 프로세스 간 통신(IPC)을 사용해야함 ex) 파이프, 파일, 소켓 등 메모리 ..
-
CPU ( 중앙처리장치 )CS 지식/운영체제 2020. 8. 8. 17:30
CPU CPU 작동 순서 Fetch(인출) : 메모리상의 프로그램 카운터가 가리키는 명령어를 CPU로 인출하여 적재. Decode(해석) : 명령어의 해석. 이 단계에서 명령어의 종류와 타겟 등을 판단한다. Execute(실행) : 해석된 명령어에 따라 데이터에 대한 연산을 수행한다. Writeback(쓰기) : 명령어대로 처리 완료된 데이터를 메모리에 기록한다. 레지스터 CPU가 현재 처리하고있는 데이터를 보유 CPU가 현재 처리중인 피연산자 또는 명령어를 보유 레지스터 변화 명령이 들어오면 IR(명령 레지스터)에 저장된다. 축적된 명령을 fetch -> decode -> excute 순으로 실행 fetch에서 명령 레지스터에 저장된 명령어를 PC가 가르키는 위치부터 가져온다. decode 과정에서는 ..
-
함수형 프로그래밍Java Script/기본 개념 정리 2020. 8. 8. 17:20
함수형 프로그래밍 순수 함수를 작성하는 것 숨겨진 입력이나 출력을 최대한 제거하여 코드의 대부분이 입력과 출력의 관계를 기술 f(g(x))식의 수학적 표현을 컴퓨터 언어화 했다고 생각하면 편함 함수 중심 프로그래밍이라고 이해하면 편함 파이프 함수를 여러개 이용할 때, 가독성이 좋게끔 도와주는 기법 f(g(h(x)))와 같은 표현식을 pipe(f,g,h)와 같이 바꿔줌 순수 함수 파라미터를 주었을 때 데이터의 변화없이 항상 같은 값을 내보내는 함수 동일한 입력에 대해 항상 동일한 출력 범위 밖의 변수에 의존 X 함수가 참조 투명성을 지키고, (숨은 입력과 출력)부작용을 줄인다.(없다.) 불변성 (Immutable) 값이 변경되지 않는 것을 의미함. JS의 원시 타입이 이 불변성을 가지고 있음. Boolea..
-
클로저(Closer)Java Script/기본 개념 정리 2020. 8. 8. 17:10
클로저 내부함수가 외부함수의 맥락(context)(변수 등)에 접근할 수 있는 것 호이스팅을 방지할 때 주로 이용한다. 독립적인 (자유) 변수 , 환경이 기억한다. 세 가지 스코프 체인 클로저 자신에 대한 접근(블럭 내 정의된 함수) 외부 함수의 변수에 대한 접근 전역 변수에 대한 접근 외부 함수의 변수에 대한 접근 클로저를 활용한 커링 함수 function adder (x) { return function (y) { return x + y; } }; 클로저 모듈 패턴 var counter = (function() { var privateCounter = 0; function changeBy(val) { privateCounter += val; } return { increment: function() ..
-
Object와 InstanceJava Script/기본 개념 정리 2020. 8. 8. 17:03
객체 object 자바스크립트의 기본 타입 프로퍼티와 메소드등 프로퍼티를 가질 수 있음. 아래 예시에서 OriginObject가 바로 객체. 껍데기라고 이해하면 됨 껍데기를 완성하는 구성요소는 프로퍼티와 메소드 인스턴스 instance 객체와 유사하지만, 객체는 일반적인 의미인 반면에 인스턴스는 현재 생성된 바로 그 객체를 의미한다. Object를 사용해서 Object를 생성하면 Object가 반환됨. 이때 반환된 Object를 인스턴스라고 함 // 생성자 함수를 사용 function OriginObject() { this.name = 'javascript' var obj = new OriginObject(); obj.name = 'jQuery'; console.log(obj..
-
Javascript Class(클래스), Prototype(프로토타입), Property(프로퍼티)Java Script/기본 개념 정리 2020. 8. 8. 16:14
Class(클래스) 자바스크립트에서 클래스란 생성자 함수를 의미함 함수가 특정 기능을 하는 구문(알고리즘, 로직)을 묶을 때 사용하는 문법이라면, 클래스는 이렇게 만들어진 수많은 변수와 함수 중 연관 있는 변수와 함수만을 선별해 포장하는 기술 즉, 연관있는 변수와 함수를 하나로 묶을 때 사용 객체 단위로 코드 그룹화 및 코드 재사용성을 사용하기 위함 일반 함수는 기능 단위의 코드 그룹화 ~> 기능 단위의 중복 코드 제거 및 재사용 Class는 자바의 Class와 같이 동작하는 것이 아니라, prototype을 이용한 기존의 방법을 유지하면서 문법만 지원하는 것(ES6 부터) 따라서, 기본적으로 Prototype에 대한 이해가 선행돼야함. 상속 프로토타입(prototype)을 통한 상속과 super()를 ..
-
BOJ) 이항 계수 2알고리즘/백준 2020. 8. 8. 15:49
이항 계수 2 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 풀이 nCr 을 구하는 문제다. nCr = n-1Cr-1 + n-1Cr 이라는 공식을 저번에 이어서, 다시 한번 머리에 남기기 위해 포스팅 한다. r이 0일 때와, n일 때 1로 설정하고, 나머지 r에 대해서 위의 공식을 적용하면 된다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public sta..