본문 바로가기

CS Knowledge

(22)
자료구조 정리 With JAVA 이번 블로그에서는 자료구조 정리를 자바를 기준으로 해보려고 한다. 우선, 자바의 전체 자료구조를 보면 아래와 같다. 그 중에서도 대표적인 자료구조는 아래와 같다. 1. 선형 자료구조 - 종류 : 연결리스트, 벡터, 배열, 스택, 큐 1-1. 연결 리스트 - 데이터를 감싼 노드를 포인터로 연결한 자료구조 - 삽입, 삭제가 빠르지만, 접근 및 탐색은 느려진다. 시간 복잡도 - 삽입 삭제 : O(1) - 접근, 탐색 : O(N) 싱글 연결 리스트 - next 포인터만 가진다. class Node{ Node next; } 이중 연결 리스트, 원형 이중 연결 리스트 - prev, next 포인터를 가진다. - 원형 이중 연결 리스트는 처음과 끝 노드도 연결한다. class Node{ Node prev; Node ..
DataBase - Plus 이번 블로그에서는 그동안 정리하지 못한 추가적인 내용에 대해서 정리해보고자 한다. 1. DDL vs DML vs DCL 모두 기적으로 DBMS에서 사용되는 SQL언어의 종류로 SQL을 위의 세가지의 범주로 구분한다고 이해하면 쉽다. DDL (Data Definition Language) - 데이터 베이스 구조를 정의하거나 변경하는데 사용된다. 구조는 테이블, 스키마, 제약 조건, 인덱스 등을 의미한다. - 객체를 관리 (테이블, 뷰, 인덱스 등) - 스키마를 정의하고 조작하는데 사용된다. 주요 명령어 CREATE : 데이터베이스 객체 생성 ALTER : 데이터 베이스 객체의 구조를 변경 DROP : 데이터 베이스 객체를 삭제 TRUNCATE : 테이블 내의 모든 데이터 삭제 RENAME : 데이터 베이스..
OS Basic 이번 블로그에서는 운영체제를 전체적으로 실습과 함께 알아보고자 한다. 운영체제의 종류 운영체제의 종류는 위와같이 정말 다양하다. 보통은 임베디드, 서버, 모바일, 데스크탑이 주된 사용 고객이고 각 기계마다 다양한 OS를 사용하고 있다. 예를 들어, 안드로이드 운영체제는 안드로이드만의 운영체제를 사용하는데 이는 리눅스 커널을 기반으로 사용하고 리눅스는 유닉스와 유사한 운영체제이다. 따라서, 안드로이드는 리눅스의 많은 특성을 상속받아 사용한다고 위의 표를 보며 해석할 수 있다. 커널 : 운영체제의 핵심 구성요소로, 자원, 프로세스, 파일 시스템, 장치 드라이브, 시스템 콜 등의 관리 및 역할을 수행한다. 위에서도 대표적인 운영체제인 Windows, Unix, Linux에 대해 자세히 알아보려고 한다. Win..
DNS Overview & Purchasing Domain 1. What is the DNS? Mostly, most website you visited, you don't know what is the IP address of it. Just go to website and use it, that's it. However, Inside of that, All of website has their own IP Address and connect each other with it. Therefore, Let's say you don't know google's IP address, how can you visit google? Because we have DNS Server which is changing domain name(www.google.com) to I..
HTTP 상태 코드 정리 이번 블로그에서는 웹 접속 등에서 나타나는 다양한 HTTP 상태 코드에 대해서 정리해보려고 한다. 앞자리의 의미 1로 시작하는 코드 : 현재까지 서버에 요청이 잘 전달되었으며, 클라이언트는 하던 작업을 계속 수행해도 됨을 의미 (정보) 2로 시작하는 코드 : 서버에 요청이 잘 전달된 후, 그에 대한 응답 (성공) 3으로 시작하는 코드 : 요청 완료를 위해 추가적인 작업이 필요함을 의미하는 코드 (리다이렉션) 4로 시작하는 코드 : 요청의 문법이 잘못되었거나 요청을 처리할 수 없음을 의미하는 코드 (클라이언트 오류) 5로 시작하는 코드 : 요청에는 문제가 없으나 서버측에서 문제가 존재하는 경우 (서버 오류) 대표 Status 200 OK - 요청이 성공적으로 되었고 정보는 요청에 따른 응답으로 반환됩니다...
Port & Port Forwarding Port 기본적으로 포트란 여러가지 요청의 종류를 구별해주는 장치라고 볼 수 있다. 한 예로, 내가 만약 내 컴퓨터로 웹사이트를 하나 띄웠다고 해보자 이 웹사이트는 여러가지 기능을 한다. 하지만 결국 이 사이트를 띄운 컴퓨터도 하나의 LAN선으로 이루어져있다. 따라서, 이 하나의 LAN선에 여러가지 종류의 요청이 왔을 때, 어떤 요청인지 쉽게 구별이 가능해야 하는 것이다. 종류는 아래와 같고 번호에 따라 역할이 조금 다르다. 0~1023번 : 잘 알려진 포트 1024~49151번 : 등록된 포트 49152~65535번 동적 포트 또한, 잘 알려진 포트는 말그대로 잘 알려진 포트이다. 따라서, 잘 알려진 포트 내부 번호마다 역할이 존재한다. 아래는 각 포트별 요청 종류를 의미한다. 20 : FTP 데이터 ..
Computer Structure - Sub Memory 이 블로그는 '최신 컴퓨터 구조 - 임석규 홍경호'를 참고하여 제작하였습니다. 1. 자기 디스크 2. 자기 테이프와 자기 드럼 (자기 드럼 생략) 3. 광 기억 장치 (생략) 4. RAID 5. SSD (생략) 1. 자기 디스크 1-1. 자기 기억 장치의 동작 원리 - 강 자성체를 이용한다. - 정보 쓰기 : 헤드에 전류를 흘려 자기장이 만들어지면 트랙이 헤드와 반대 극성으로 자화된다. - 정보 읽기 : 트랙을 이동시켜 헤드를 통과하는 자기장이 변하면 헤드에 유도 전류가 흐르는 원리를 이용한다. 1-2. 자기디스크의 표면 구조 - 강 자성체로 코딩되어 있고 하드 디스크라고도 부른다. 1. 단일 헤드 디스크 : 헤드가 하나인 디스크 2. 다중 헤드 디스크 : 헤드가 여러개 존재하는 디스크 1-3. 자기디스..
Computer Structure - Memory 이 블로그는 '최신 컴퓨터 구조 - 임석구, 홍경호'를 참고하였습니다. 1. 기억 장치 시스템의 개요 2. 주기억 장치 3. 캐시 기억 장치 4. 가상 기억 장치 5. 연관 기억 장치 (생략) 6. 최신 기억 장치 기술 (생략) 1. 기억 장치 시스템의 개요 1-1. 위치에 따른 분류 - 컴퓨터 내부 또는 외부로 분류 - 내부 : 주기억 장치, CPU의 레지스터 - 외부 : 자기디스크, 자기테이프 1-2. 용량에 따른 분류 - 바이트나 워드로 나타냄. - 워드는 보통 CPU가 한번에. 처리할 수 있는 명령어의 비트 수로 설정 - 바이트는 보통 외부 기억장치들이 사용 1-3. 전송 단위에 따른 분류 - 내부 장치에서 전송 단위 : 기억 장치로 들어가고 나오는 데이터선의 수, 보통 워드길이와 같거나 다름 -..