CS

CS

프로그래밍 일반

기술 면접을 위해 공부한 내용을 간단하게 정리한 글 입니다. 절차지향 vs 객체지향 절차지향 프로그래밍 : 물이 위에서 아래로 흐르듯이 순차적 처리를 중시하는 프로그래밍 기법 대표적으론 C언어가 있다 컴퓨터의 처리구조와 유사하기에 속도가 빠르다는 장점이 있다 하지만, 코드의 순서가 바뀌면 동일한 결과를 보장하기 어렵다 객체지향 프로그래밍 : 실세계의 사물을 객체로 모델링 하여 개발을 진행하는 기법 대표적으론 Java가 있다. 캡슐화,상속,다형성 등을 통해 재사용성 및 변형 가능성을 높일 수 있다. 절차지향에 비해 속도가 느리다 객체지향 설계 5원칙 (SOLID) SRP : 단일 책임 원칙, 클래스는 단 하나의 목적을 가져야 하고 변경하는 이유 또한 단 하나여야 한다. 즉, 다른 클래스의 변경으로 자신이 ..

CS

데이터베이스

기술 면접에 초점을 맞춰 핵심이라 생각되는 부분만 얕게 정리하였습니다. 데이터베이스에 대해 깊게 공부하고 싶으시다면 전공 서적을 구매하여 공부하시는 것을 추천드립니다. 화일 조직 화일내의 데이터를 배치하는 것 히프 파일 : 삽입 순서대로 쭉 저장하는 것, 삭제시 해당 공간을 재활용하지 않는다. 순차화일 : 어떤 필드 값에 따라 순서대로 저장된다, 삭제시 해당 공간을 재활용하지 않는다. Indexed Sequential file : 인덱스를 이용하여 화일에 접근한다 단일단계 인덱스 : 인덱스 테이블은 탐색 키를 기준으로 정렬한다. 기본 인덱스 : 기본 키의 값에 따라 정렬 클러스터링 인덱스 : 키가 아닌 특정 필드 값에 따라 정렬 보조 인덱스 : 탐색 키의 값에 따라 정렬되지 않은 파일에 대해 정의됨 다단..

CS

컴퓨터 구조

기술면접을 위해 간단하게만 정리한 글입니다. CPU의 세부 구조 및 설계 등에 많은 중요한 부분들을 다루지 않고 블로그를 참고하여 정리한 글입니다. 컴퓨터 구조에 대해 자세히 공부하고 싶으시다면 전공 서적을 구매하여 공부하는 것을 추천드립니다. 하드웨어 CPU, RAM, HDD, 마우스 .. CPU : ALU,제어장치, 레지스터 로 구성됨 연산장치(ALU) : 산술연산과 논리연산 수행, 연산에 필요한 데이터를 레지스터로부터 가져와 결과를 레지스터에게 다시 보냄 제어 장치 : 명령어를 순서대로 실행할 수 있도록 제어하는 장치, 주기억장치에서 명령어를 꺼내 해독하고 결과에 따라 제어 신호를 기억장치, 연산 장치, 입출력장치로 보낸다. 레지스터 : 고속 기억장치, 명령어 주소, 코드, 데이터 등을 임시로 저장..

CS

운영체제 정리

기술면접에 좀 더 초점을 맞춰 간단하게 핵심만 정리하였습니다. 운영체제에 대한 자세한 이론은 전공 서적을 구입하여 공부하는 것을 추천 드립니다. 메모리 종류 레지스터 캐시 주 메모리 자기 디스크 자기 테이프 위에서 부터 아래로 접근 시간이 길고 저장용량이 크다 자기 디스크,테이프는 비 휘발성이다 캐시 메모리 매핑방법 Fully Associative Mapping : 주소 전체를 태그에 넣어 비교하는 것→비싸다 Direct Mapping : 주소를 tag,index로 나누어 저장 →싸지만 성능이 좋지 않다 Set Associative Mapping : 인덱스별로 여러 tag-data set을 만들어 저장하는 방식 → 가격도 적당하고 성능도 괜찮다. 프로세스와 쓰레드의 차이 프로세스 : 메모리에 올라와 실행..

CS

네트워크 정리

기술면접 및 CS 복습을 위해 정리한 글 입니다. 전공 수업(데이터 통신, 컴퓨터 통신, 네트워크 보안) 에서 배운 내용을 아주 짧고 얕게 정리한 내용이니 자세한 내용이 궁금하시다면 서적을 따로 구매하여 공부하시는 것을 추천드립니다 ! OSI7계층 level 1 : Physical Layer(물리계층) , bit stream을 전송하는 계층 level 2 : Data Link Layer (데이터 계층), frame을 전송하고 이를 통해 속도제어, 오류제어, 접근제어의 역할을 한다. level 3 : Network Layer (네트워크 계층) , 패킷을 전달하는 계층 라우팅을 해준다. level 4 : Transport Layer (전송 계층) , 프로세스에서 프로세스로의 전송을 담당하는 계층으로 흐름제어..

CS

자료구조 정리

CS 기술면접 대비 그리고 개인 공부를 위해 2학년 때 배웠던 자료구조 과목 정리본을 다시 노션 및 티스토리에 정리해서 올려보려 한다. 각 알고리즘 및 자료구조에 대해 상세하게 설명하기 보단, 핵심 개념만 간단히 짚고 정리한 것이라 이해가 잘 되지 않는다면 각각의 개념을 검색해보는걸 추천한다. 자료구조와 알고리즘이란? 자료구조는 데이터를 원하는 규칙 또는 목적에 맞게 저장하기 위한 구조이고, 알고리즘이란 자료구조에 쌓인 데이터를 활용해 어떠한 문제를 해결하기 위한 여러 동작들의 모임이다. 대표적 자료구조 스택 : FILO구조 처음 넣은 게 가장 마지막에 나오는 구조 큐 : FIFO구조 처음 넣은게 가장 먼저 나오는 구조 우선순위 큐 : 원소마다 우선순위를 가지고 이 우선순위에 따라 OUT되는 큐 구현방법..

CS

인공지능(2)

인지 기말 Chap8. Deep neural network dnn은 mlp에서 은닉층의 개수를 증가시킨 것 특징 추출하고 분류하는 형식(뒤쪽으로 갈수록 고급 특징 추출) MLP에서는 인간이 특징을 추출했었음 gradient소실 문제 : 신경망이 너무 깊어 gradient가 0에 가까워지는 현상 시그모이드 활성화 함수를 쓰면, 수의 크기가 큰 경우 기울기가 0이되기에 그럼 ReLU사용 cross entropy 손실 함수 계산 Binary Cross Entropy : 분류를 2개로만 하는 경우에 사용 Categorical Crossentropy : 분류를 두개이상으로 해야하는 경우 사용 SparseCategoricalCrossentropy : 정답레이블이 one hot encoding이 아니고 정수로 주어질..

CS

인공지능(1)

인지 정리 Chap1. 인공지능이란 인간처럼 사고,행동하기 논리적으로 사고,행동하기 지능이 있는 기계를 만드는 분야다. 인공지능 > 머신러닝 > 딥러닝 (인공지능의 부분집합인 머신러닝의 부분집합인 딥러닝) 탐색의 시대 → 지식의 시대 → 학습의 시대 brute force방식으로 접근 → 조합 폭발 → 첫번째 겨울 인공지능이 모든 문제를 해결할 수 없다는 사실을 깨닫음 → 전문가 시스템 등장 너무 특수한 상황에서만 전문가 시스템이 유용함 → 두번째 겨울 Chap2. python 기본 문법 type(데이터) :데이터의 타입을 리턴한다 arr[a:b] idx ab까지 출력 a를 안쓰면 0b-1, b를안쓰면 aend, a안쓰고 b=-1이면 beginend car={’HP’=100}로 정의하고 car[HP]하면 ..

시롱시롱
'CS' 카테고리의 글 목록