“혼자 공부하는 컴퓨터 구조+운영체제” 책을 기준으로 작성하였습니다. 개발자가 컴퓨터 구조를 알아야하는 이유 컴퓨터 구조를 이해하면 문제 해결 능력이 향상됨 컴퓨터 구조를 이해하면 문법만으로는 알기 어려운 성능/용량/비용을 고려하며 개발할 수 있다. 우리가 알아야 할 컴퓨터 구조 지식 컴퓨터가 이해하는 정보 컴퓨터의 네 가지 핵심 부품 에 대하여 알아야한다. 컴퓨터가 이해하는 정보 데이터 : 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 명령어 : 데이터를 움직이고 컴퓨터를 작동시키는 정보 데이터는 명령어 없이는 아무것도 할 수 없는 정보 덩어리이다. 명령어는 컴퓨터를 작동시키는 정보이고, 데이터는 명령어를 위해 존재하는 일종의 재료 이러한 점에서 컴퓨터 프로그램은 ‘명령어들의 모음..
분류 전체보기
0과 1로 숫자를 표현하는 방법 컴퓨터는 0과 1로 모든 정보를 표현하고, 0고 1로 표현된 정보만을 이해할 수 있습니다. 하지만 컴퓨터는 3 + 4의 계산 결과를 7이라는 답변을 낼 수 있습니다. 과연 어떻게 7이라는 답변을 낼 수 있을 지 살펴보겠습니다. 정보 단위 컴퓨터가 이해하는 가장 적은 정보 단위는 비트(bit) 입니다. 쉽게 생각하여 비트는 전구로 빗대어 이해 할 수 있습니다. 1비트는 한개의 전구에 대하여 켜짐(1), 전구 꺼짐(0) 으로 총 두 가지의 상태를 표현 할 수 있습니다. 2비트는 두개의 전구에 대하여 (꺼짐,꺼짐), (꺼짐, 켜짐), (켜짐, 꺼짐), (켜짐, 켜짐) 총 네 가지의 상태를 표현 할 수 있습니다. 3비트는 세 개의 전구에 대하여 총 여덟 가지의 상태를 표현 할 수..
0과 1로 문자를 표현하는 방법 컴퓨터는 0과 1만 이해할 수 있다고 했는데, 우리가 컴퓨터에서 문서 작업을 하거나 인터넷을 볼때나 문서등을 볼 때 숫자로 입력하고 숫자로 출력되는 것이 아닌 문자로써 사용을 하게 된다 어떻게 컴퓨터가 문자를 이해하고 출력을 하는걸까? 문자 집합과 인코딩 0과 1로 문자를 표현하는 방법에 대해 알기 위해 알아야 할 용어가 있습니다. 문자 집합(character set) : 컴퓨터가 인식하고 표현할 수 잇는 문자의 모음 컴퓨터는 문자 집합에 속해 있는 문자를 이해할 수 있고, 반대로 문자 집합에 속해 있지 않은 문자는 이해할 수 없다. 문자 인코딩(character encoding) : 문자 집합에 속한 문자를 0과 1로 변환 하는 과정 문자 집합에 속한 문자라고 해서 컴퓨..
                                                                                                                                    &n..
예제 TV 객체 추상화 상태(속성) → 상태를 동작 보다 먼저 정의 전원상태, 볼륨, 채널번호 동작(기능) 전원 켜기/끄기, 볼륨 변경하기, 채널 변경하기 TV 클래스 모델링 필드(인스턴스 변수) → 상태(속성) 표현 on, volume, channel 메소드(멤버함수) → 동작(기능) 표현 turnOn() , turnOff() , changeVolume(), changeChannel() class Tv: def __init__(self, on, ch, vol): # 생성자 - 필드 초기화 self.on = on # 필드 = 인스턴스 변수 생성 self.channel = ch self.volume = vol def print(self): # 메소드 = 멤버 함수 print(self.on, self.cha..
텍스트 데이터 텍스트 데이터 종류 구조화된 문서 : HTML, XML, CSV, JSON 파일 구조화되지 않은 문서 : 자연어로 된 텍스트 파이썬 텍스트 데이터 관련 라이브러리 기본 라이브러리에서 제공하는 문자열 처리 함수 문자열 객체(str) 메소드 string 모듈 → 문자열 상수 정의 string.ascii uppercase, string.ascii_letters, string.digits 외부 모듈 wordcloud → 워드 클라우드 생성 re → 정규 표현식 BeautifulSoup, csv, json, nltk 등 문자열 변경 불가능 자료형 → str 문자열 상수 작은 따옴표나, 따옴표로 묶음 ex) ‘test’ == “test” ex) ‘I am not “human”.’ 여러줄 문자열 상수는..
넘파이(numpy) 배열 리스트처럼 여러 개의 값들을 저장할 수 있는 자료구조 리스트는 다양한 자료형의 데이터 저장 가능 넘파이 배열은 같은 자료형의 데이터 저장 리스트보다 데이터 처리속도가 빠름 리스트는 데이터 접근을 위해 이중 참조 ⇒ 해당 이유 때문에 리스트의 처리속도가 느림 리스트는 객체 배열 넘파이 배열은 한번의 참조로 데이터 접근 가능 대량의 데이터를 빠르게 처리하려면 넘파이 배열 필요 데이터 과학, 인공지능 분야에서 넘파이 배열 사용 넘파이 배열은 ndarray 클래스로 구현 ndarray 클래스 장점 C언어에 기반한 배열 구조이므로 메모리를 적게 차지하고 속도가 빠르다. 배열과 배열 간에 수학적인 연산을 적용 배열의 모든 원소 적용되는 연산자 함수 제공 행렬 연산 고급 연산자와 풍부한 함수..
데이터 시각화**(data visualization)** 점이나 선, 막대 그래프 등의 시각적 이미지를 사용하여 데이터를 화면에 표시하는 기술 효과적인 시각화는 사용자가 데이터를 분석하고 추론하는 데 도움 데이터를 직관적으로 이해 matplotlib 데이터 시각화 도구 선 그래프, 산포도 등 다양한 그래프 그리는 용도 맷플롯립 활용 단계 pyplot 모듈 불러오기 import matplotlib.pyplot as plt plt 별칭 사용 수치 데이터 정의 → 리스트, 넘파이 배열 2차원 데이터 → x축 데이터, y축 데이터 x축, y축 데이터 개수 동일 그래프 종류 결정 선 그래프 → plot() 함수 그래프 세부 설정은 인자로 전달 → 선 색, 마크 종류, 선 두께 등 제목, y축 레이블 설정 titl..