CS 43

프로세스와 스레드

Goal 1. 프로세스와 스레드의 개념을 설명할 수 있다. 2. 프로세스와 스레드의 차이를 이해할 수 있다. 3. 멀티 프로세스와 멀티 스레드의 장단점을 이해할 수 있다. 프로그램(Program) 프로세스와 스레드의 개념을 알아보기 전에 프로그램에 대한 이해가 필요하다. • 정의 - 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태 - 프로그램은 운영체제가 실행되기 위한 메모리 공간을 할당해 줘야 실행될 수 있다. - 프로그램을 실행하는 순간 해당 파일은 메모리에 올라가게 되고, 이 상태를 동적인 상태 혹은 프로세스라고 한다. 프로세스(Process)란 • 정의 - 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 - 운영체제로부터 시스템 자원을 할당받은 작업의 단위 • 특징..

CS/운영체제 2020.12.29

정렬 알고리즘 비교

이번 글에서는 여러 가지 정렬 알고리즘을 간략하게 정리하고자 한다. 알고리즘을 4가지 특징에 따라 비교한 표는 아래와 같다. Algorithm In-Place Stable Comparison Complexity Bubble O O O O(n^2) Selection O X O O(n^2) Insertion O O O O(n^2) Shell O X O O(n^2) Merge X O O O(nlogn) Quick O X O O(nlogn) Heap O X O O(nlogn) Counting X O X O(n + k) Radix X O X d x O(n) 버블 정렬(Bubble Sort) 인접한 두 개의 원소를 비교하여 자리를 교환하는 방식이다. 첫 번째 원소부터 인접한 원소끼리 계속 자리를 교환하면서, 맨 마..

CS/자료구조 2020.06.09

웹 크롤링 vs 웹 스크래핑 vs 웹 파싱

이번 글에서는 크롤링, 스크래핑과 파싱의 차이점에 대해서 정리하고자 한다. 크롤링 - 크롤러(자동화 봇)가 무수히 많은 인터넷 상의 페이지(문서, html)를 수집해서 어떤 사이트에 어떤 정보가 있는지 분류하고 나중에 쉽게 찾아볼 수 있도록 하는 것 스크래핑 - 웹 사이트에서 원하는 정보를 추출하는 기술 파싱 - 페이지에서 내가 원하는 데이터를 특정 패턴이나 순서로 추출하여 정보로 가공하는 것을 말한다. 크롤링, 스크래핑, 파싱에 대한 용어 정의는 사람마다 조금씩 다른 것 같다. 크롤링과 스크래핑을 동일선상에서 말씀하시는 분들도 있고, 스크래핑이 크롤링의 상위 개념처럼 말씀하시는 분도 있다. 용어 간의 관계를 완벽하게 이해하기보단 각각의 용어에 대해 개념 정도는 알고 있는 게 좋을 것 같다.

CS 2020.06.02