Share
Sign In
TIL 웹개발
TIL 웹개발 - CS 기초 지식
서경태
👍
1.
메인보드
컴퓨터 본체 내부에 위치한, 주회로가 내장된 보드이다.
2.
CPU (Central Processing Unit)
컴퓨터의 두뇌 역할을 하는 실질적으로 모든 기능을 수행하는 요소
입력을 받은 명령을 해석/연산 한 후에 결과값을 출력장치로 전달하는 컴퓨터의 주요 부품
3.
GPU (Graphic Processing Unit)
병렬 연산에 특화되어 이전에는 3D 그래픽을 처리하는데 많이 사용했지만 현재는 범용적으로 사용된다.
4.
주기억장치 (RAM)
휘발성 메모리로 컴퓨터를 껏다 키면 메모리가 사라진다.
DRAM
SRAM
5.
보조기억장치
비휘발성 메모리로 컴퓨터를 껐카 켜도 메모리가 사라지지 않는다.
HDD : 물리적인 보조기억장치
SSD : 반도체에 전기 신호를 이용하여 데이터를 적재하는 보조기억장치
6.
OS
운영체제란 사용자가 컴퓨터를 조작 및 제어하고 작업의 편의성을 제공하기 위한 '시스템 소프트웨어'입니다.
운영체제의 목적
처리능력 : 일정 시간내에 시스템이 처리하는 작업량
반환 시간: 작업을 완료할때까지 걸린 시간
사용가능도: 요청이 있을 때 즉시 사용가능한 정도
신뢰도 : 주어진 요청을 정확하게 해결하는 정도
운영체제 주요 자원 관리
프로세스 관리 : 실행되는 프록르ㅐㅁ을 관리합니다.
기억자이 관리: 프로세스에게 할당된 메모리를 관리합니다.
주변장치 관리: 입출력 장치 관리
파일 관리: 파일의 생성과 삭제, 변경, 유지관리
다양한 운영체제
windows
mac OS
linux
IOS
andorid
7.
반드시 알아야할 개념
프로세스 : 메모리상 실행중인 프로그램을 의미, 최소 하나의 스레드를 보유하며 별도의 주소공간을 독립적으로 할당받는다.
프로세싱: 프로그램이 실행중인 것
쓰레드: 프로세스 내에 하나의 실행 단위.
멀티테스킹: 하나의 시스템 또는 cpu가 여러 작업을 수행하는 것
멀티프로세싱: 두 개 이상의 프로세스가 동시에 실행되는 것
멀티쓰레드: 하나의 프로세스가 여러 작업 단위를 가지며 작업을 수행하는 것. 멀티스레드로 작업시 멀티 프로세스보다 공유하는 통신비용이 적고 프로세스 생성 후 자원을 할당하는 시스템 콜이 감소할 수 있기에 더 효율적이다.
스케쥴링: 작업에 필요한 자원을 언제 누가 어떻게 사용할지 결정해주느 ㄴ것
커널: 하드웨어와 응용 프로그램 사이에서 인터페이스 역할 수행하기 위한 핵심 부분
터미널: 사용자와 컴퓨터 간에 상호작용을 제공하는 인터페이스
CUI : 사용자가 문자를 통해 명령을 수행하는 것
GUI: 사용자가 그래픽을 통해 명령을 수행하는 것
Subscribe to 'kyugntae-ai'
Welcome to 'kyugntae-ai'!
By subscribing to my site, you'll be the first to receive notifications and emails about the latest updates, including new posts.
Join SlashPage and subscribe to 'kyugntae-ai'!
Subscribe
👍
Other posts in 'TIL 웹개발'See all
서경태
TIL 웹개발 - 사고의 전환
프로그래머스 '숫자 문자열과 영단어' 문제를 풀다보니 문제를 해결하는 방식은 주어진대로 하는 것이 아님을 느꼈다. 문제의 내용은 s가 "one4seveneight" 이런식으로 주어지는데 숫자로 올바르게 변환하는 함수를 만드는 것이다. 먼저 나는 문제를 풀기 위해 영단어와 숫자가 일치하는 딕셔너리를 만들었다. 하지만 코드를 적다보니 딕셔너리를 사용하지도 않고 굉장히 단순하고 무식한 방법으로 풀었다. 문자열 s를 하나씩 풀어서 일치하는 조건의 값을 숫자로 돌려주는 함수다. 다른 사람의 문제 풀이를 보니 순서를 바꿔서 푸는 방법도 있었다. 내가 처음 생각했던 것도 딕셔너리로 만들어 s의 일부값이 딕셔너리 키값에 들어있다면 해당 숫자를 반환하는 식이었는데 이 코드는 아예 딕셔너리부터 시작해서 s에 해당하는 값을 찾았다. 그리고 answer를 문자열 그대로 사용해 replace로 키값과 밸류를 치환했다. 내가 항상 리스틀 만들고 그걸 다시 해답에 맞게 조합하거나 조작해서 출력하는 경우가 많은데 시간복잡도면에서 리스트를 사용하지 않는게 더 좋으니 앞으로 다른 방법도 고민해야한다. 딕셔너리의 특성도 잘 알고 있어야 한다. 반복문에서 num_dict.items()는 키-값 쌍을 반환한다. 그래서 key, value를 동시에 추출하는 것도 가능하다. 만약 key만 뽑거나 value만 뽑을때는 .keys / .values 라고 적어줘야 한다.
서경태
TIL 웹개발 - 서버
클라이언트와 서버 클라이언트 요청을 보내는 사용자 서버 클라우드 서버 웹 서버 데이터베이스 서버 어플리케이션 서버 프록시 서버 데이터베이스 테이블 표 열 행 DBMS (데이터베이스 관리 시스템) RDBMS(관계형 데이터베이스 관리 시스템) MySQL PosgreSQL SQLite
서경태
TIL 웹개발 - 소프트웨어 설계
자료 자료구조 데이터를 효과적으로 젖아하기 위해 어떤 논리나 규칙으로 자료를 모안호은 구조 선형 구조 자료간의 관계가 1:1로 순차적으로 나열되어 있는 것 배열 : 메모리상에 연속적인 공간에 데이터를 저장하는 방법 리스트 : 메모리상에 임이의 위치에 데이터를 저장하지만 각 데이터들이 앞뒤 관계를 갖게 하는 방법 스택 : 선입후출 방식의 자료구조. 히스토리 기능을 구현할 때 유용하고 DFS(깊이우선탐색), 후위연산, 백트래킹, 유효성 검사 등 다양한 곳에 사용된다. 큐 : 선입선출 방식의 자료구조. 작업스케쥴링 기능을 구현하거나 BFS(너비우선탐색), 티켓 시스템 등 다양한 곳에서 사용된다. 비션형 구조 자료들 간 관계가 1:N으로 나열되어 있는 것을 의미한다. 그래프: 노드와 간선으로 이루어진 자료구조 무방향 그래프 / 방향 그래프 / 가중치 그래프 트리: 그래프의 한 종류로 싸이클의 구조가 없어야 한다. 이진트리 : 각 부모노드의 자식 노드가 최대 2개인 트리 편향트리 : 한쪽으로만 자식을 갖는 트리 포화이진트리 : 이진트리에서 모든 부모가 2개의 자식노드를 갖는 이진트리 완전이진트리 : 이진트리에서 거의 모든 노드가 채워져 있으며 강한한 제일 왼쪽부터 채워져 있는 이진트리 프로그래밍 기본