관계형 모델
·
방통대 컴퓨터과학과/3학년1학기
관계형 데이터베이스 구조 관계형 모델 1969년 코드(Edgar F. Codd) 박사가 제안한 데이터 모델 술어 논리(predicate logic)와 집합론(set theory)을 이론적 배경으로 함 테이블, 컬럼, 기본키-외래키 참조 관계 등으로 현실 관계를 표현 단순하면서도 직관적으로 데이터를 표현할 수 있음 대다수의 상용 DBMS가 관계형 모델을 사용하고 있다. 개요 정보를 수집할 경우 수집된 정보를 체계적으로 저장하기 위해 표(table)라는 2차원의 데이터 구조를 사용한다. 표의 열(column)에는 열에 저장되는 정보의 의미를 담고 있는열 이름을 기록 표의 행(row)에는 열의 순서에 맞춰 일련의 데이터 집합을 입력한다. 릴레이션 관계형 모델 : 어원은 행과 열의 관계로 이루어진 격자 구조의 ..
[운영체제] 스케줄링 알고리즘
·
방통대 컴퓨터과학과/3학년1학기
스케줄링 성능 평가 기준 스케줄링 알고리즘의 성능을 평가하는 데 평균 대기시간과 평균 반환시간이 이용된다. 평균 대기시간 : 각 프로세스가 수행이 완료될 때까지 준비 큐에서 기다리는 시간의 합의 평균값 평균 반환시간 : 각 프로세스가 생성된 시점부터 수행 완료된 시점까지의 소요시간의 평균값 FCFS(First-Come First-Served) 스케줄링 먼저 들어온 순서대로 나간다. 큐를 활용하는 스케줄링이며 가장 단순한 방법이다. FCFS 스케줄링은 비선점 방법이다. 프로세스는 준비 큐에 도착한 순서에 따라 디스패치 된다. 단점 FCFS 스케줄링 알고리즘은 겉보기엔 공정하지만, 짧은 작업이 긴 작업을 기다리게 되거나 중요한 프로세스가 나중에 수행될 수 있는 등의 단점이 존재한다. → 대화식 시스템에는 적..
[C언어] 자료형과 선행처리기
·
방통대 컴퓨터과학과/3학년1학기
상수와 변수 상수 상수 : 한번 정해지면 그 값을 변경할 수 없는 수. 값이 정해진 상수는 프로그램 실행 도중에 값을 변경할 수 없다. 정수형 상수 : 10진수, 8진수, 16진수로 표현할 수 있다. 실수형 상수 : 부동소수점형 상수라고도 하며, 정수형보다 큰 값이나 작은 값을 처리하는 데 사용된다. 실수형 상수는 double형을 기본 자료형으로 사용한다. 문자형 상수 : 단일 인용부호('')로 묶여있는 1개의 영문자나 숫자문자이다. ASCII 코드값이 사용된다. escape 문자의 경우 \n(줄바꿈), \t(탭), \0(ASCII 코드값이 0인 문자_null문자) 등이 있다. 문자열 상수 : 이중 인용부호("")로 묶여 있는 복수개의 영문자와 숫자로 이루어진 상수이다. 기억공간에 보관될 때에는 문자열 ..
[JAVA] JAVA 기본 문법
·
방통대 컴퓨터과학과/3학년1학기
Java 프로그램 작성법 Java 언어는 객체지향 프로그래밍 언어이기 때문에 클래스를 기반으로 프로그램이 구성된다. mian() 메서드를 포함하는 클래스가 프로그램 실행을 위한 기본 클래스가 되고, main() 메서드부터 실행이 시작된다. 하나의 소스 파일로 작성된 경우에는 그 소스 파일을 컴파일하고 실행시킨다. 여러 개의 소스 파일로 작성된 경우에는 각각을 컴파일한 다음 main() 함수가 들어 있는 소스 파일을 실행시킨다. Java 프로그램의 소스 파일 이름은 'public 클래스'의 이름과 같아야 한다. 기본 사항 주석(comments) 주석은 프로그램 작성자가 붙인 프로그램의 설명문을 뜻하며 프로그램의 가독성과 이해도를 높이기 위한 방법으로 사용된다. 한 줄 주석 : // 여러 줄 주석 : /* ..
데이터베이스 모델링
·
방통대 컴퓨터과학과/3학년1학기
데이터베이스 모델링의 이해 데이터베이스 모델링이란 데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 작업이다. 데이터베이스 모델링 과정은 데이터에 초점을 맞추어 개별적 데이터의 특징을 분리하는 개념적 데이터 모델링이 이뤄지고 이후 특정 상용 DBMS에 맞추어 데이터를 표현하는 논리적 데이터 모델링을 거친다. 그다음 데이터베이스와 관련되는 프로그램이 개발된다. 즉 개념적 데이터 모델링 → 논리적 데이터 모델링 → DBMS 관련 프로그램 개발 데이터 모델 : 의미, 데이터 타입, 연산 등을 명시하기 위해 사용할 수 있는 개념들의 집합 데이터 모델링 : 실세계의 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정 사용자 요구사항 분석 단계 사용자 요구사항 분석..
[운영체제] 프로세스 개요
·
방통대 컴퓨터과학과/3학년1학기
프로세스 프로세스 : 실행중인 프로그램 프로그램이 실행되는 순간에 PID(process id) 부여 → 프로그램 이름으로 프로세스들을 구분하기는 어려움 프로그램 : 동작을 하지 않는 정적 • 수동적인 개체 프로그램을 실행시키려면 CPU, 메모리, 입출력장치, 파일 등의 자원을 할당받아 동작 프로세스는 프로그램과 달리 동작을 하는 능동적인 개체로 봄 스풀링과 같은 시스템 태스크도 각각 하나의 프로세스가 된다. 프로세스의 동작은 CPU가 그 프로세스의 명령들을 실행하는 것 운영체제는 실행할 준비가 된 프로세스들이 적절히 CPU를 배정받아 효율적으로 작업을 처리할 수 있도록 관리해야 함 결론은 운영체제는 프로세스들을 생성시키고, 종료시키기 위한 작업들과 프로세스들을 실행시키기 위한 스케줄링 작업(CPU 할당)..
[Java] Java와 객체지향 프로그래밍
·
방통대 컴퓨터과학과/3학년1학기
Java 언어와 Java 프로그램 Java 언어 Java는 미국 선 마이크로시스템즈(Sun Microsystems)라는 회사가 1990년 말에 개발하기 시작해 1996년에 첫 버전이 발표된 객체지향 프로그래밍(OOP, Object-Oriented Programming) 언어이다. Java는 프로그래밍 언어와 실행환경(Runtime)을 함께 포함하고 있다. 즉, Java 언어로 작성된 프로그램의 실행환경으로 기존 운영체제를 사용자히 않고 별도로 만들어진 'Java 플랫폼'을 사용한다. Java는 문법적으로 C나 C++과 유사하지만 가장 큰 차이점이 있는데 이는 바로 Java가 완전한 객체지향 프로그래밍 언어라는 점이다. Java 프로그래밍 언어의 특징 Java는 별도의 실행환경이 있기 때문에 운영체제와 무..
[C언어] C 언어의 정의
·
방통대 컴퓨터과학과/3학년1학기
C 언어의 정의 C 언어는 프로그래밍 언어이다. 프로그래밍 언어 : 인간과 컴퓨터의 대화에서 사용되는 의사소통 수단 컴퓨터는 0과 1로 구성된 기계어만 이해할 수 있고, 인간은 인간의 언어를 사용한다. 이 두 개체 간의 원활한 의사소통을 돕는 수단이 바로 프로그래밍 언어이다. 인간이 컴파일러에게 프로그래밍 언어를 사용하여 프로그램을 작성한 파일을 보내면, 컴파일러는 컴퓨터가 이해할 수 있도록 프로그래밍 언어를 기계어로 변환하는 역할을 수행한다. 어셈블러는 컴파일러와 컴퓨터 사이에 존재하는데, 컴파일러가 번역한 기계어에 가까운 어셈블리 코드를 기계어(0, 1의 바이너리 코드)로 변환하는 작업을 한다. 즉 2차 번역인 셈이다. C 언어와 같이 인간이 이해하기 쉬운 언어(나는 왜 어렵지?)에 가까울수록 고급 ..
데이터베이스의 이해
·
방통대 컴퓨터과학과/3학년1학기
데이터베이스 시스템의 개요 사전적으로 데이터베이스는 '데이터의 집합'을 뜻한다. 데이터베이스로 인해 데이터 관리 및 사용으로 업무를 자동화하는 프로그램은 기업의 비용을 최소화하고 의사결정에 필요한 시간을 단축할 수 있다. 데이터베이스 관리 시스템(DBMS : Database Managemnet System)은 한 조직의 연관된 데이터의 집합을 다수의 사용자가 공용으로 사용하기 위해 통합 저장하는 소프트웨어 패키지이다. DBMS와 함께 사용자에게 서비스 형태로 제공되는 애플리케이션이 포함된 일체의 시스템을 데이터베이스 시스템이라 한다. 데이터베이스 관리 시스템의 목적 1960년대부터 데이터를 처리 및 분석하여 사용하였다. 당시 컴퓨터에서 데이터를 기록 및 관리하기 위해 사용할 수 있었던 유일한 수단은 운영..
[운영체제] 운영체제의 개요
·
방통대 컴퓨터과학과/3학년1학기
운영체제의 개요 운영체제의 역할 운영체제? 컴퓨터의 하드웨어 자원을 관리 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 시스템 소프트웨어 컴퓨터 시스템의 운영 운영체제는 컴퓨터 시스템의 자원을 제어 및 관리하여 컴퓨터 시스템을 효율적으로 운영하는 역할 시스템 자원 하드웨어 자원 : CPU, 메모리, 키보드, 마우스, 네트워크 카드 등 소프트웨어 자원 : 프로그램, 데이터 등 즉, 응용 프로그램들의 실행을 위해 자원들이 적절히 활용되도록 제어하고 관리하는 역할 사용자 지원 사용자가 편리하게 컴퓨터를 사용할 수 있도록 지원 → GUI(Graphical User Interface) 인터페이스 제공 등 사용자가 내린 명령을 해석하여 실행, 사용자와 하드웨어 사이의 매개체 역할 컴퓨터 시스템과 운영체제 옛날 ..
방통대 컴퓨터과학과 2022 3학년 1학기 편입, 수강신청 완료!
·
방통대 컴퓨터과학과/잡담
과목을 선택한 기준은 순전히 내 호기심 위주였다. 딱히 뭐 선수과목 이런 거 따지진 않았음. 그래서 내가 선택한 과목들은 바로바로바로바로~ 기본으로 들어야 하는 원격대학교육의 이해 빼고 총 6과목이다. 1. 컴퓨터의 이해(교양) 2. C 프로그래밍(전공) 3. 데이터 정보처리 입문(일선) 4. 이산수학(전공) 5. Java 프로그래밍(전공) 6. 데이터베이스 시스템(전공) 다른 사람들보다 좀 특이한 건 교양과 일선 두 개가 있는 이유는 처음이라 6전공을 도전하기엔 좀 빡실 것 같기도 하고.. 데정입의 경우는 관심이 좀 있는 편이라 한 번쯤은 들어보는 것도 좋지 않을까 해서 넣었다. 나는 후비적거리며 대충 수강 신청했지만 MBTI J님들이 좋아할 만한 선행교과 목표를 투척한다. 그리고 수강 신청하면서 궁금..
IT 비전공자가 방통대 편입을 선택한 이유
·
방통대 컴퓨터과학과
IT 비전공자라면 한 번쯤 고민해봤을 만한 방송통신대에 3학년 편입 원서를 제출했다(물론 온라인으로). 원서를 제출하기 전까지 많은 고민이 있었는데, 그 고민들에 대해 얘기해보려 한다. 일단 나에 대해 잠깐 소개하자면 그 흔하디 흔한 국비 수료생이며 취업을 했다. 현재는 프로젝트 진행 중이며 정신없이 일을 하고 있다. 그리고 작심삼일을 제일 잘하며 강제적인 스케줄이 있어야 공부를 하는 편이다. 벌써부터 방통대를 선택한 이유를 어렴풋이 느낄 수 있겠지만 더 자세하게 써보자면........ 1. 전공 지식 비전공자니까 당연히 전공 지식이 매우 매우 부족하다. 실무에서도 모르는 용어가 많아 부끄럼을 무릅쓰고 더 자세히 물어볼 때가 많았다. 지금이야 신입이니까 이런 질문이 가능하지 연봉이 늘어나면 늘어날수록 혼..