[인프런 워밍업 클럽 2기 CS] 1주차 발자국

[인프런 워밍업 클럽 2기 CS] 1주차 발자국

자료구조와 알고리즘

  • 시간복잡도: 알고리즘의 실행 시간을 입력 크기의 함수로 표현한 것

  • 자바스크립트 실행 환경 구축: Node.js나 브라우저를 사용해 JS 코드를 실행할 수 있는 환경 설정

  • 배열: 연속된 메모리 공간에 동일한 타입의 데이터를 저장하는 자료구조

  • 연결리스트 개념: 노드들이 데이터와 다음 노드의 참조를 가지고 연결된 선형 자료구조

  • 연결리스트 구현: 노드 클래스와 리스트 클래스를 정의하여 삽입, 삭제, 탐색 기능 구현

  • 스택 개념: LIFO(Last In First Out) 원칙을 따르는 선형 자료구조

  • 스택 구현: 배열이나 연결리스트를 사용해 push, pop 등의 연산 구현

  • 큐 개념: FIFO(First In First Out) 원칙을 따르는 선형 자료구조

  • 큐 구현: 배열이나 연결리스트를 사용해 enqueue, dequeue 등의 연산 구현

  • 덱 개념과 구현: 양쪽 끝에서 삽입과 삭제가 가능한 자료구조로, 배열이나 이중 연결리스트로 구현

  • 해시테이블 개념: 키를 값에 매핑하는 자료구조로, 빠른 검색을 위해 해시 함수 사용

  • 셋 개념과 구현: 중복을 허용하지 않는 컬렉션으로, 해시테이블을 기반으로 구현 가능

운영체제

  • 운영체제 개요: 하드웨어와 사용자 간의 중개자 역할을 하는 시스템 소프트웨어

  • 운영체제의 역사: 일괄 처리 시스템부터 현대의 다중 사용자 시스템까지의 발전 과정

  • 운영체제의 구조: 커널, 시스템 콜, 사용자 인터페이스 등으로 구성된 계층적 구조

  • 컴퓨터 하드웨어와 구조: CPU, 메모리, 저장장치, 입출력 장치 등의 기본 구성요소

  • 컴퓨터의 부팅 과정: BIOS/UEFI 실행부터 운영체제 로딩까지의 단계적 과정

  • 인터럽트: 외부 이벤트나 예외 상황을 CPU에 알리는 메커니즘

  • 프로그램과 프로세스: 프로그램은 정적인 코드, 프로세스는 실행 중인 프로그램의 인스턴스

  • 멀티프로그래밍과 멀티프로세싱: 여러 프로그램의 동시 실행과 여러 프로세서를 사용한 병렬 처리

  • PCB: 프로세스의 상태 정보를 저장하는 데이터 구조

  • 프로세스 상태: 생성, 준비, 실행, 대기, 종료 등의 프로세스 생명주기

  • 컨텍스트 스위칭: 실행 중인 프로세스를 전환하는 과정

  • 프로세스 생성과 종료: fork(), exec() 등의 시스템 콜을 통한 프로세스 관리

  • 쓰레드: 프로세스 내에서 실행되는 더 작은 실행 단위

  • CPU 스케줄링 개요: 프로세스들 간에 CPU 시간을 할당하는 방법

  • 다중큐: 우선순위나 특성에 따라 프로세스를 여러 큐로 관리하는 스케줄링 기법

  • 스케줄링 목표: CPU 사용률 최대화, 처리량 증가, 대기 시간 최소화 등

  • FIFO: 가장 단순한 스케줄링 알고리즘으로, 먼저 도착한 프로세스를 먼저 실행


1주차 후기

국비지원 교육을 듣고 취업을 하면서 CS 공부를 해 본 적이 없다보니 이름만 들어보고 개념을 모르는 내용들이 많아 학습에 대한 필요성을 느꼈는데, 때마침 인프런에서 워밍업 클럽으로 CS 코스가 열려서 신청하게 되었다.

쉽게 풀어서 설명해주시는 감자 코치님의 강의 영상 따라 가다보니 기본적인 내용을 이해하는 데 큰 어려움은 없었던 것 같다.

코치님 왈, 잘 모르겠으면 그림을 그려가면서 이해하라고 했는데 앞으로는 그림 그려가면서 이해해보는 것도 좋을 것 같다.

미션은 강의에서 들은 내용과 추가적으로 궁금해서 찾아보았던 내용을 토대로 해결할 수 있었다.

이번주는 좀 바쁘게 몰아서 들은 감이 있는데, 다음주는 차근차근 추가적인 내용도 찾아가며 강의를 듣고 싶다.

댓글을 작성해보세요.

채널톡 아이콘