1. 초기의 자료처리 시스템 초기의 데이터 처리 시스템은 각 응용 프로그램이 개별적으로 자기 자신의 데이터를 파일로 관리 유지했다. 그렇기 때문에 모든 응용 프로그램이 자신의 데이터 파일을 접근, 관리하기 위해 검색, 삽입, 삭제 및 갱신을 할 수 있는 프로그램 코드를 포함하고 있어야 했다. 게다가 응용 프로그램 간의 데이터 공용이 불가능하였다. 이러한 시스템의 가장 큰 문제점은 데이터의 종속성(data dependency)과 데이터 중복성(data redundancy)으로 집약될 수 있다. 데이터베이스와 처리 시스템은 이러한 문제점을 보완을 목표로 발전하게 되었다. 2. 데이터 종속성과 데이터 중복성 데이터 종속성 응용 프로그램과 데이터 간의 관계가 상호 의존 관계인 것을 말한다. 데이터의 구조나 접근..
운영체제의 역할은 관점에 따라 달라진다. 1. 사용자의 관점( User View) 우리가 컴퓨터를 사용하면서 운영체제가 이랬으면 좋겠다라고 생각하는 것에는 여러가지가 있겠지만 대표적으로 3가지만 꼽자면 다음과 같다. 편의성(Convenience) 사용의 용이성(Ease of Use) 좋은 성능(Good Performance) 위의 3가지를 중요하게 여기고 자원활용에 관해서는 크게 신경 쓰지 않는 편이다. 예를 들면, 대형 컴퓨터나 미니 컴퓨터의 경우에는 사용자의 용이성보다는 자원 활용을 극대화 하기 위해 설계되었다. 또한 공학 계산이나 대용량 그래픽 처리 컴퓨터 같은 워크스테이션 사용자의 경우에는 두 가지의 성격을 다 가지고 있다. 사용자의 경우에는 맘대로 할 수 있는 전용 자원을 갖고 있지만, 서버(S..
1. 운영체제(Operating System)란? -컴퓨터의 하드웨어를 관리하는 프로그램이다. - '응용 프로그램'을 위한 기반을 제공하며, 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 중재자 역할을 수행한다. 2. 운영체제(OS)의 목적 ▶ 시스템마다 다른 목적을 갖는다. - 대형 컴퓨터의 OS : 하드웨어의 이용을 최적화하는 것이 목적이다. - 개인용 컴퓨터(PC) OS : 게임, 비즈니스 응용 등 개인의 사용 용이성을 목적으로 한다. - 휴대용 컴퓨터 OS : 사용자가 프로그램을 편리하게 사용할 수 있는 환경을 제공하는 것을 목적으로 한다. 3. 컴퓨터 시스템의 구성요소 ▶ 컴퓨터의 구성요소는 크게 나누면 3가지(H/W, S/W, User), 좁게 나누면 4가지(H/W, OS, App, User)로 표..
아마 main 메소드 만큼 많이 작성하게 될 메소드가 아닐까 싶은 출력메소드에 대해서 알아보자. 출력메소드 출력 메소드란 콘솔창에서 결과를 볼 수 있도록 출력해 주는 메소드이다. 1. print() 마지막에 자동으로 줄 바꿈 되지 않고 아래 문장과 이어서 출력된다. public class PrintTest { public static void main(String[] args) { // 출력 코드 단축키 : syso 작성 후 , ctrl + enter System.out.print("안녕하세요."); System.out.print(10); } } - 출력 결과 자동으로 줄 바꿈이 되지 않기 때문에 출력값이 붙어 나오는 것을 확인할 수 있다. 2. println() 출력 시 자동으로 줄 바꿈되어 나타난다...
자바의 변수와 타입에 대해서 알아보자. 변수(variable) 변수란 값을 저장하기 위한 저장 공간이다. 프로그램은 변수를 통해 값을 읽고 값을 저장할 수 있다. int age = 34; double weight = 1.23; float number = 10.232434F; char grade = 'A'; String data = "ABC"; 위는 변수 선언 예시이다. 다음과 같이 다양한 변수를 선언하기 위해서는 변수의 타입과 변수 명, 값이 필요하다. 변수 선언 방법 1. 변수타입 변수명 = 초기값; * 초기값 종류 정수 : 0 실수 : 0.0 문자 : ' ' 문자열 : null 2. 변수타입 변수명; 변수 선언 시 주의 사항 1. 변수의 이름은 중복될 수 없다. 2. 변수를 선언한 뒤, 변수값 초기화..
자바의 소스코드 기본 구조를 한눈에 알아보자면 다음과 같다. 프로젝트 ↳ 패키지 ↳ 클래스 ↳ 메소드 ↳ 소스코드 이 순서로 코드가 구성된다고 볼 수 있다. 프로젝트 안에 패키지가 있고 패키지 안에 클래스가 있고 그 안에 메서드가 있는 형식이다. package test; //패키지 public class Test { //클래스 public static void main(String[] args){ //메소드 //실행될 소스코드 double score = 1.0 + 2.0 * (3.0 + 4.0) - 5.0; System.out.println(score); } } 코드 예시로 보자면 이런 구조이다. 패키지 (package) 패키지는 간단하게 하나의 폴더(디렉터리)라고 생각하면 된다. 클래스 파일들의 묶음이..
방학을 맞아 자바 공부를 시작하였다. 오늘은 설치하는 포스팅을 써보겠다. 솔직히 알못일 때는 프로그램이 이렇게 많을 줄 몰랐지.. 지금은 프로그램 설치할 때는 놓치지 않으려고 한다. 설치 잘못하면 피곤해지기 때문에.. 나중에 또 까먹을 나를 위해 기록으로 남기려고 한다... [순서] 1. jdk 설치 2. 환경변수 설정 3. 확인하기 자바라는 언어를 사용하기 위해서는 JVM, JRE라는 것이 필요하다. 간단하게 알아보자면 다음과 같다. * JVM (Java Virtual Machine) : 자바를 실행하기 위한 가상 기계이다. 자바는 일반 프로그램과 달리 컴파일을 해주어야 OS(운영체제)가 인식을 할 수 있는데, 이때 컴파일을 JVM에서 한다. * JRE (Java Runtime Environment) ..
2022.11.10 - [네트워크] - [네트워크] 멀티 쓰레드로 채팅 구현하기 [네트워크] 멀티 쓰레드로 채팅 구현하기 2022.11.07 - [네트워크] - [네트워크] 서버와 클라이언트 코드 구현하기 [네트워크] 서버와 클라이언트 코드 구현하기 소켓 서버와 클라이언트를 연결하는 출입구. 소켓을 통해 데이터 통로가 생성 iknow-where-togo.tistory.com 쓰레드로 구현했던 채팅 프로그램을 핸들러를 이용하여 수정하여 보겠다. 또한 binary 타입으로 메세지를 송수신하기 위하여 DataInputStream, DataOutputStream을 사용하였다. ClientHandler를 사용하는 이유 핸들러를 이용하여 서버에 생기는 쓰레드의 개수를 줄일 수 있다. 핸들러로 분리한 기능에 오류가 ..