분류 전체보기
-
[OS] Process / ThreadComputer Science/Operation System 2020. 4. 9. 12:22
[OS] ✔️ 프로세스 ( process ) ◾ 프로세스는 CPU가 수행 중인 프로그램을 말한다. ◾ 운영체제로부터 자원을 할당 받는 자원 소유권의 단위이다. ◾ 운영체제로부터 code, data, stack, heap, PC, register 등의 자원을 할당받는다. ◾ 프로그램은 명령어 리스트를 지닌 실행 파일 클래스이고, 프로세스는 메모리에 적재되어 프로그램 카운터와 자원을 가진 인스턴스이다. 1️⃣ 프로세스의 문맥 ( Context ) ◾️ 프로그램은 실행이 되고 종료된다. 문맥이라는 것은 특정 시점에 프로세스가 어떤 상태인지 나타내기 위해서 사용되는 것이다. ◾️ 즉, 프로세스의 문맥을 통해 특정 시점에서 프로세스가 어디까지 수행을 했는지를 알 수 있다. ◾️ 프로세스의 현재 상태를 나타내는데 ..
-
[OS] Operating System IntroductionComputer Science/Operation System 2020. 4. 9. 12:21
✔️ OS(Operating System - 운영체제) ◾ 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 ✔️ OS의 목적 ◾ 컴퓨터 시스템의 자원을 효율적으로 관리하는 것 : CPU, 메모리, 입출력 장치, 프로세스, 파일, 메세지 등을 관리 ◾ 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 : 여러 프로그램을 동시에 사용할 수 있게 해준다. ✔️ 커널 ◾ 운영체제의 핵심 부분으로 메모리에 상주하는 부분 ✔️운영체제의 분류 1️⃣ 일괄처리 (batch processing) ◾ 작업 요청의 일정량을 모아서 한꺼번에 처리하는 시스템 ◾ 작업이 완전 종료될 때까지 기다려야 한다. ◾ ex) 천공 카드 처리 시스템 2️⃣ 시분할 (time sh..
-
외워두면 편한 숫자 단위Problem Solving/PS를 위한 수학 지식 2020. 4. 7. 14:24
✔️ 숫자 ◾ 일 : 1 ◾ 십 : 10 ◾ 백 : 100 ◾ 천 : 1,000 ◾ 만 : 10,000 ◾ 10만 : 100,000 ◾ 100만 : 1,000,000 ◾ 1000만 : 10,000,000 ◾ 1억 : 100,000,000 ◾ 10억 : 1,000,000,000 ◾ 100억 : 10,000,000,000 ◾ 1000억 : 100,000,000,000 ◾ 1조 : 1,000,000,000,000 ✔️ Factorial ◾ 1! = 1 ◾ 2! = 2 ◾ 3! = 6 ◾ 4! = 24 ◾ 5! = 120 ◾ 6! = 720 ◾ 7! = 5040 ◾ 8! = 40320 ◾ 9! = 362,880 ◾ 10! = 3,628,800 ✔️ 데이터 단위 ◾ 비트 : 1 bit = 1bit ◾ 바이트 : ..
-
[Back End] Layered Architecture and Rest ControllerWeb Development/부스트코스 - Back-End(Java) 2020. 4. 6. 14:56
✔️ Controller의 중복요소 ◾ 웹 페이지는 중복으로 개발되는 요소가 존재한다. ex) 웹 페이지 어디서나 보이는 로그인 상태 정보 ◾ 2개의 URL이 있다. 두 URL은 다르지만, 각 URL에 해당하는 웹 페이지를 보여주기 위해서 중복으로 실행되는 부분이 존재한다. 이 중복을 없애려면 어떻게 해야할까? 중복되는 부분을 별도의 객체 또는 메서드로 분리하면된다. ◾ 예를들어, 쇼핑몰에서 '문의 게시판'에서도 '회원 정보'를 보여주고, '상품 목록 보기'에서도 '회원정보'를 보여줘야 한다면 회원정보를 읽어오는 코드는 어떻게 해야할까? ◾ '문의 게시판'을 보여주는 컨트롤러와 '상품 목록 보기'를 보여주는 보여주는 컨트롤러를 각각 별도로 구현한다. ◾ '회원 정보'를 보여주는 것을 별도의 객체로 만들고..
-
[Back End] Spring MVCWeb Development/부스트코스 - Back-End(Java) 2020. 4. 3. 22:15
✔️ MVC ◾ MVC는 Model-View-Controller의 약자이다. ◾ Model : 모델은 뷰가 렌더링하는데 필요한 데이터이다. 예를들어 사용자가 요청한 상품 목록이나 주문내역이 이에 해당한다. ◾ View : 웹 애플리케이션에서 뷰는 실제로 보이는 부분이며, 모델을 사용해 렌더링을 한다. 뷰는 JSP, JSF, PDF, XML 등으로 표현한다. ◾ Controller : 컨트롤러는 사용자의 액션에 응답하는 컴포넌트이다. 컨트롤러는 모델을 업데이트하고, 다른 액션을 수행한다. ✔️ Spring MVC 1️⃣ DispatcherServlet ◾ 프론트 컨트롤러(Front Controller) ◾ 클라이언트의 모든 요청을 받은 후 이를 처리할 핸들러에게 넘기고 핸들러가 처리한 결과를 받아 사용자에..
-
GraphComputer Science/Data Structure and Algorithm 2020. 4. 2. 10:25
✔️ 그래프 ◾그래프는 정점과 간선으로 이루어진 자료구조이다. ◾ 연결되어 있는 정점 간의 관계를 표현할 수 있다. ◾ 무방향 그래프 : 연결 관계에 있어서 방향성이 없는 그래프 ◾ 방향 그래프 : 간선에 방향정보가 포함된 그래프 ◾ 완전 그래프 : 각각의 정점에서 다른 모든 정점을 연결한 그래프 ◾ 가중치 그래프 : 간선에 가중치 정보가 있는 그래프 ✔️ 그래프를 구현하는 두 가지 방법 ◾ 인접 행렬(adjacent matrix) 기반 그래프 : 정방 행렬을 활용 ◾ 인접 리스트(adjacent list) 기반 그래프 : 연결 리스트를 활용 ✔️ 그래프의 탐색 1️⃣ 깊이 우선 탐색(Depts First Search, DFS) ◾ 깊이 우선 탐색은 탐색의 각 과정에서 가능한 한 그래프 안으로 '깊이' ..
-
Priority Queue, heap ( 우선순위큐, 힙 )Computer Science/Data Structure and Algorithm 2020. 4. 2. 10:24
✔️ Priority Queue(우선순위 큐) ◾ 우선순위 큐는 큐와 비슷하다. ◾ 큐는 연산의 결과로 "먼저 들어간 데이터가 먼저 나온다." 하지만 우선순위 큐의 연산 결과는 "들어간 순서에 상관없이 우선순위가 높은 데이터가 먼저 나온다." ◾ 우선순위 큐는 배열, 연결리스트, 힙을 이용하여 구현할 수 있다. ◾ 배열기반으로 우선순위 큐를 구현하면, 데이터의 우선순위가 높을수록 배열의 앞쪽에 데이터를 위치시키면 된다. ◾ 하지만 삽입&삭제 연산에서의 shift 연산 오버헤드가 발생한다. 또한 적절한 삽입 위치를 찾기 위해 배열에 저장된 모든 데이터와 우선순위 비교를 진행해야할 수도 있다. ◾ 연결리스트 기반으로 우선순위 큐를 구현하면, 배열과 같이 shift 오버헤드는 발생하지 않지만 우선순위에 따른 ..
-
Tree, Binary Search Tree, AVL TreeComputer Science/Data Structure and Algorithm 2020. 4. 2. 10:23
✔️ Tree(트리) ◾ 트리는 계층적 관계를 표현하는 자료구조이다. ◾ 트리는 부모 노드와 자식 노드의 관계로 재귀적으로 구성된다. 부모 노드가 없는 노드를 루트노드라고 정의한다. ◾ 노드(node) : 트리의 구성요소 ◾ 간선(edge) : 노드와 노드를 연결하는 연결선 ◾ 루트 노드(root node) : 트리 구조에서 최상위에 존재하는 노드 ◾ 내부 노드(internal node) : 단말 노드를 제외한 모든 노드 ◾ 단말 노드(leaf node) : 아래로 또 다른 노드가 연결되어 있지 않는 노드 ◾ 노드 간에는 부모, 자식, 형제 관계가 성립된다. ✔️ Binary Tree(이진 트리) ◾ 이진트리는 각 노드가 최대 두 개의 자식 노드를 갖는 트리이다. ◾ 전위 순회(Pre oder trave..