TIL - day 6
Day 6
오늘 읽은 범위
에피소드 21 ~ 에피소드 25
책에서 기억하고 싶은 내용을 써보세요
에피소드 21 - 서버리스는 서버가 없다는 뜻?
서버리스는 서버 없음이 아니라 우리가 직접 관리 하지 않는 서버를 의미해 (p.123)
서버리스에선 함수들이 잠을 자고 있어. 그리고 그 함수가 필요할 때 깨워서 요청한 작업을 수행해. 그러고 나서 함수는 다시 잠이 들지. 그러면 전력도 낭비하지 않을 수 있고, 하드웨어를 더 효율적으로 쓸 수 있어. (p125)
서버리스 단점
- 서버리스의 함수는 잠에서 깰 때 시간이 필요하다 (콜드 스타트)
- 서버 제공자에게 지나치게 의존한다.
에피소드 22 - 자료구조와 알고리즘은 필수라고?
알고리즘은 컴퓨터에게 내리는 지시사항을 나열 한 것 (p.133)
목적지까지 최대한 빨리 가는 방법을 알려주는 기능을 구현할 때는 패스파인더 알고리즘을 사용 (p.134)
이미지를 최대한 덜 손상하면서 용량을 효율적으로 줄이는 압축 알고리즘
자료 구조의 종류
에피소드 23 - 배열이 뭐죠?
시간 복잡도는 프로그램의 작업 속도가 얼마나 빠른지를 측정하는 방법 (p.137)
시간 복잡도는 실제 시간을 재지 않고 작업이 얼마나 많은 단계를 거치는지를 측정해 (p.137)
비 휘발성 메모리 : 컴퓨터 전원을 끄더라도 저장한 값이 사라지지 않음, Eg. 하드 드라이브
휘발성 메모리 : 컴퓨터 전원을 끄면 저장한 값이 사라짐, Eg. 램(RAM)
램은 데이터가 저장된 위치와 상관없이 일정한 접근 속도를 보장, 데이터에 접근하는 속도가 매우 안정되고 빠름 => 각각의 데이터 보관 박스에 주소가 있기 때문에 가능
배열은 맨 앞부터 차곡차곡 채워져있어야 한다. 그래서 배열은 삽입과 삭제가 느리다 (p.144)
에피소드 24 - 알고리즘의 속도는 어떻게 표현할까?
알고리즘으로 작업을 완료할때까지 걸리는 절차 수 N을 이용해서 O(N), O(log N)과 같이 표현을 하는데 이것을 빅오(Big-O) 표기법이라고 함 (p.145)
선형 알고리즘
- 배열을 앞에서부터 하나씩 검색하고, 그래서 배열 크기가 커지면 검색 시간도 정비례로 커짐
- 배열의 길이를 N이라고 하면 검색 횟수는 최대 N이 됨
시간 복잡도를 표현하는 Big-O 표기법
- 단지 설명을 간단하게 만들어줄 뿐만 아니라 알고리즘 분석을 빠르게 할 수 있게 해줌
- 배열의 길이가 길어지면 시간은 제곱배로 느려지니까 O(N²)
에피소드 25 - 검색 알고리즘이 뭐죠?
선형 검색 알고리즘
- 맨 처음 배열부터 검색을 시작
- 배열의 길이가 길어지면 검색시간도 길어짐
- y = x
이진 검색 알고리즘
- 데이터의 정렬이 끝난 배열에서만 사용할 수 있음 (항상 정렬되어 있어야함)
- 배열의 중앙에서 검색을 시작
- 거대한 배열을 다룰 때 효과적
- y = log x
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
CS 지식이 있으면 더 효율적인 코드를 작성할 수 있기때문에 꼭 필요한 것 같다는 생각이 들었다. 많이 부족한 CS 지식을 채우려고 노력해야겠다… 공부하고 공부해도 어려운 CS