본문 바로가기

TIL

(32)
[TIL]20220520 CS 스터디 챕터7: 0과 1의 세계 1. 비트 디지털 정보를 표현하는 가장 기본적인 방식 2진수를 뜻하는 “Binary Digit”의 약자로 컴퓨터에서 CPU가 처리하는 데이터의 최소 단위 크기 “어떤 단위의 기수가 2라면 그 단위는 이진 숫자, 더 줄여서 비트라고 할 수 있는데 이는 존 투키가 제안한 단어다. “ - 클로드 섀넌, 1948 비트는 0 또는 1 중 하나의 값을 사용하고 다른 값은 사용하지 않는 숫자 두 개의 값 중 하나를 선택하는 정보라면 무엇이든 비트 한 개로 인코딩하거나 표현 단일 비트로도 이진 선택을 충분히 나타낼 수 있지만, 많은 선택지가 필요한 경우에는 비트를 여러 개 사용하여 다양한 조합에 의미를 할당 2. 2의 거듭제곱과 10의 거듭제곱 컴퓨터 내부에는 모든 것이 이진수로 ..
[TIL]20220519 CS 스터디 챕터7: 연속과 불연속 아날로그 vs 디지털 아날로그: 연속 디지털: 불연속 우리의 세상은 아날로그로 이루어져 있지만 컴퓨터 입장에서 디지털이 다루기 더 쉽고 확장성 또한 뛰어나다. 그래서 아날로그 정보들을 디지털 정보들로 바꿔줄 필요가 있다. 챕터8: 아날로그 정보를 디지털로 바꾸기 이미지 센서 배열의 각 요소(픽셀) 은 RGB 빛의 양을 측정하는 세개의 검출소자로 구성된다. 각 검출소자는 들어오는 빛의 양에 비례하는 양으로 전하를 저장한다. 압축기술: JPEG 음향 소리: 소리의 근원에서 발생한 진동이 공기에 압력에 변화를 일으켜 고막을 진동 시키는것 녹음 : 소리를 홈의 패턴으로 변환하는 과정 재생: 패턴을 기압 변동으로 변환 하는 과정 압축기술 :MP3, AAC 영화 정지영상(프레임)..
[TIL]20220518 CS 스터디 챕터4: 가로세로 1cm 프로세서 칩 쳅터5: 50년 넘게 유지된 무어의 법칙 알고리즘 해시 테이블(해시맵) : 키를 값에 매핑할수 있는 구조인 연관배열 추상 자료형 (ADT)을 구현하는 자료구조. 대부분 연산(삽입, 삭제, 탐색) 이 O(1)에 가능하다 해시 함수: 임의 크기의 데이터를 고정 크기값으로 매핑하는데 사용할수 있는 함수 ex) ABC -> A1 1324BC ->C8 AF32B -> D5 해시 테이블이 인덱싱을 하기위해 해시함수를 사용하는것을 해싱(Hashing) 이라고 하고, 해싱은 정보를 가능한 빠르게 저장하고 검색하기 위해 사용하는 중요한 기법중 하나다 ( 최적의 검색, 심볼테이블자료구조 구현 등에 쓰인다.) 좋은해시함수란? 해시함수값충돌최소화 쉽고 빠른 연산 해시테이블 전..
[TIL]20220517 CS 스터디 챕터3: HDD 와 SSD의 차이 HDD SDD 가격 낮음 높음 소음 많음 적음 내구도 충격에 취약 충격에 강함 정보 저장 물리적 방식 전기적 방식 속도 느림 빠름 발열 높음 낮음 HDD에서 데이터를 입출력하는 방식은 원판을 플래터가 움직여 헤더가 읽는 방식이다. 플래터가 움직이는 거리가 멀어질수록 자연히 정보를 읽고 쓰는 속도가 느려진다.그래서 아무리 다른 컴퓨터 부품이 좋아져도 HDD가 물리적으로 데이터를 입출력 하는 방식 때문에 한계가 존재한다. 이를 해결하기 위해 SSD가 등장했다. SSD는 전기 신호를 이용해 데이터를 파악하기 때문에 속도가 훨씬 빠르다. 전기를 흐르거나 차단하게하는 스위치 방식으로 SSD 셀 안에 data를 저장한다. (그래서 과거부터 부팅용 저용량 매체로 SSD가..
[TIL]20220516 CS 스터디 챕터1: 컴퓨터의 논리와 구조 논리적 구성 ( 기능적 구성) , 물리적 구조 챕터2: 프로세서 속도와 심장 박동수. 폰 노이만 아키텍쳐 ( 프로세스, 메모리, 저장장치, 입출력장치 의 구조) 프로세서 (CPU), 컴퓨터의 두뇌. 산술연산. 데이터 옮기고 다른 구성요소드르이 작업 제어. 굉장히 빠른연산. ( 2.2 GHz 듀얼코어 에서 2.2GHz(1초에 22억번) 는속도를, 듀얼코어는 프로세서의 갯수를 의미 주 기억장치 (RAM) 작업중인 데이터, 그리고 프로세서가 주는 명령어까지 저장 => 프로그램 내장식 컴퓨터가 범용장치가 되게 해준다. RAM 의 메모리는 휘발성을 띈다. 알고리즘 스택: First in Last out, Last in First out 스택 집적구현 class: List..
[TIL]20220515 오늘은 금요일, 토요일에 풀었던 알고리즘 문제들을 한 번씩 더 복습해 보았다. 아무리 여러 번 풀어봤어도 하루가 지나면 다 까먹는 것 같다. 오늘 기억에 남는 알고리즘 공부는.. 역순 연결 리스트 (reverseList)를 재귀 구조와 반복 구조로 풀어본 것. 팰린드롬 연결 리스트 (isPalindrome)를 파이썬 내장 라이브러리의 deque 자료형과 popleft()를 이용해 풀어본 것. 그리고 마지막으로 집적 구현은 못해봤지만 러너를 이용해 푸는 방법이다. 한주를 마무리하며 이번 주에 한 것들을 되돌아보았다. 월요일부터 목요일까지는 미니 프로젝트를 완성했고 금요일부터는 알고리즘 주차가 시작해 알고리즘 공부를 처음으로 해봤다. 미니 프로젝트에서는 처음 보는 팀원들과 협업을 통해 결과물을 내었다는 것...
[TIL]20220514 오늘은 연결 리스트에 대한 강의를 듣고 Palindrome Linked List, Merge Two Sorted Lists, Reverse Linked List, Odd Even Linked List 총 4 문제를 풀었다. 문제를 풀면서 pop() 이나 reverse() 같은 python built-in function 들을 복습하고, Class 와 Method 들의 사용법을 공부했다. 오늘은 어제처럼 한문제 한문제에 오래 매달리는 대신 오전에 들은 강의와 함께 이론 공부를 오랫동안 했다. ListNode 와 LinkedList 클래스와 연결 리스트 삽입, 삭제, 수정 등 을 집적 구현해 보았다. 이해 하는것에서 그치지 않고 내가 집적 구현할 수 있게 될 때까지 연습을 했다. 계념 공부를 어제보다 깊게 ..
[TIL] 20220513 오늘은 항해99 알고리즘 주차 첫날이었다. 전 주차에 했던 팀 프로젝트랑은 또 다른 느낌의 힘듦이 있었다. 오랜만에 머리를 오랫동안 많이 썼더니 집중이 잘 안되는 느낌이 있었다. 오늘은 파이썬 기본 문법들과 알고리즘 문제 5 문제를 공부했다. 오전에 강의와 책으로 간단한 big O notation 과 시간 복잡도에 대해 계념을 배웠다. 파이썬 기본 문법 중에서는 sorted(arry, key),enumerate()등 파이썬 내장함수들, collections 내장 라이브러리, 그리고 if 문에서의 break pass continue 등과 같은 기본적인 것들을 공부했는데 말이 기본이지 너무 부자연스럽고 머리도 잘 안 돌아간다. 딕셔너리, 튜플, set 과 같은 자료형에 대한 공부도 더 필요한 것 같다. 알고..