전체 글 202

정보통신 시스템

1) 정보통신 시스템의 개념 - 멀리 떨어진 정보원과 정보 목적지 사이에서 정보를 전송,처리하기 위해 여러 구성요소(통신회선 등)를 상호 유기적으로 결합한 시스템 2)정보통신시스템의 구성요소 정보 통신 시스템 정보전송시스템 단말 장치(DTE) 정보 전송회선(신호변환장치-DCE, 통신회선) 통신 제어 장치 정보처리시스템 컴퓨터(중앙처리장치, 기억장치, 입출력장치) 주변기기 DTE는 컴퓨터, DCE는 모뎀 3)정보전송시스템의 단말장치 - 단말장치(DTE): 단말기 또는 단말, 터미널(컴퓨터 자체, 키보드 모니터 등 컴퓨터 주변기기) - 구성: 입출력 제어부, 송수신 제어부, 오류 제어부, 공통 제어부 4) 정보전송시스템의 신호변환장치 - 신호변환장치를 이용해 송신자의 정보를 전기적 신호로 변환한 뒤 이 신호..

[CS]/[네트워크] 2021.01.03

정보통신의 기초 개념

1) 전파(Electric Wave) - 무선통신에 사용되는 무선 주파수, 적외선, 가시광선, 자외선, X선, 우주선 등을 총칭 - 인공적 매개물 없이 공간에 전파하는 3,000GHz 보다 낮은 주파수의 전자파(전파법에서의 정의) 2) 주파수(Frequency) - 일정 시간 동안 얼마나 자주 발생하는가를 나타내는 척도 - 단위: 헤르츠(Hz), 1Hz는 1초동안 1번 진동한 것 - 주파수 대역(Frequency Band): 여러 주파수 채널들이 모여서 하나의 띠 형태를 이루는 것(음성대역 30~8,000Hz) - 주파수 대역폭(Frequency Bandwidth): 두 주파수의 간격, 음성대역의 대역폭은 7970Hz 3) 전파의 성질 - 반사성(Reflection): 전파가 진행 중에 전파의 파장보다 ..

[CS]/[네트워크] 2021.01.03

소켓프로그래밍 - 멀티 유저 채팅 프로그램

다중의 클라이언트끼리 채팅하는 프로그램 - 각각 클라이언트마다 서버가 1:1로 연결되어 있으나 서버는 입력,출력하는 역활을 하지 않고 클라이언트가 입력한 값을 받아서 서버에 연결되어 있는 모든 클라이언트에게 전송하는 쓰레드를 만들고, 관리하는 역활만 함 TCP 서버 package ex06multiuser2; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; //tcp 서버 클래스 class ServerClass { private ArrayList threadList = new ArrayList(); public ServerClass(int port) throw..

소켓프로그래밍 - 양방향 소켓

클라이언트와 서버가 1:1 통신하는 프로그램 - Socket을 받아서 해당 Socket으로 문자 전송하는 쓰레드(입력쓰레드), 문자 받는 받는 쓰레드(출력쓰레드) 만듬 - 서버 실행 후 listen 상태에 있다가 connect 될때마다 입력쓰레드, 출력쓰레드 생성 - 클라이언트 실행 시 서버에 연결 후 입력쓰레드, 출력쓰레드 생성 - 서버 입력쓰레드 -> 클라이언트 출력쓰레드, 클라이언트 입력쓰레드 -> 서버 출력쓰레드 입력 쓰레드 package ex05threadtcp; import java.io.DataOutputStream; import java.io.IOException; import java.net.Socket; import java.util.Scanner; class ThreadSend ext..

소켓프로그래밍 - 단방향 소켓 프로그램

단방향 소켓 프로그램 - 서버 소캣을 열어놈 - 클라이언트에서 접속 시도 - 접속 성공시 서버에서 "여보세요~" 문자열 클라이언트에 전송 - 클라이언트 접속 해제 TCP 서버 package ex01tcp; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class TCPServer { //전화 받는쪽 public static void main(String[] args) throws IOException { //1024이하의 포트 번호는 고정 포트기 때문에 사용X, 그외 아무 포트 사용 가능 ServerSocket ss = new Serv..

program, process, thread

- 프로그램(program) : 어떤 파일이나 소스가 디스크에 있는 상태 ex) 메모장 실행파일 notepad.exe - 프로세스(process) : 디스크에 있는 프로그램이 메모리에 올라와 있는 상태 ex) 메모장이 화면에 보일때 - 쓰레드(thread): 프로세스 위에서 동작하는 경량 프로세스(Lightweight Process), 기본은 1 process - 1 thread 1. single thread: 1 process - 1 thread (작업이 발생할 때마다 프로세스를 생성해야되서 시스템 과부화가 생김) ex) 일하는 사원 1명 - 복사기 1대 2. multi thread: 1 process - 여러 thread (시스템 과부화를 줄여줌) ex) 일하는 사원 1명 - 복사기 3대 thread..

인류사회의 변천과 정보통신

1) 인류 사회의 변천 과정 제1의 물결, 농업혁명 - 기원전 약 1천년전: 정착 생활로 국가 공동체 형성 제2의 물결, 산업혁명 - 18세기 말~19세기 초: 영국의 공업화에 의한 산업혁명, 대량생산/대량소비/대량분배 등, 빠른 속도의 과학 기술 발전 제3의 물결, 정보산업혁명 - 1980년대: 개인용 컴퓨터의 발명과 인터넷의 등장 -> 정보산업혁명 제4의 물결, 유비쿼터스 혁명 - 현재 시점(21세기): 유비쿼터스(Ubiquitous)혁명 예측 및 진행 중 2) 공간 혁명의 역사 - 도시혁명 - 산업혁명 - 정보혁명 - 유비쿼터스 혁명 - 도시혁명: 시간제약을 극복하려고 물리 공간 축소 - 산업혁명: 물리공간을 분화하고 공간의 생산성을 확대 - 정보혁명: 시간 제약을 극복하려고 물리 공간을 컴퓨터에 ..

[CS]/[네트워크] 2020.12.28

서브쿼리 subquery

Q) Daniel이 근무하는 부서의 평균급여를 구하시오 --1. Daniel의 부서를 알아낸다 --2. 해당 부서의 평균 급여를 알아낸다 SELECT department_id FROM employees WHERE first_name='Daniel'; SELECT avg(salary) FROM employees WHERE department_id=100; --이걸 합쳐야됨 SELECT avg(salary) FROM employees WHERE department_id=(SELECT department_id FROM employees WHERE first_name='Daniel'); --이렇게 두번에 걸쳐 구하는것을 한번에 구하는 것이 서브쿼리 - where절 서브쿼리 Q) 급여를 8800 받는 직원의 부서..

[오라클]/SELECT 2020.12.27

조인 JOIN

- JOIN: 2개 이상의 테이블을 한번에 출력되는것, pk와 fk를 사용해야됨 - 오라클은 4개의 join 이름을 구성 equi join, non-equi join, self join, outer join 1) equi join -> pk=fk 조건에서 조인 INNER JOIN Q) 직원의 이름, 급여와 부서명을 출력하시오 --두개의 테이블을 같이 보는 방법 SELECT first_name 이름, salary 급여, department_name 부서 FROM employees, departments; --근데 이러면 employees의 한 칼럼마다 departments의 모든 칼럼에 붙여져서 행수가 엄청 많아짐 SELECT first_name 이름, salary 급여, department_name 부서..

[오라클]/SELECT 2020.12.27

다중행 함수(multi row function) 그룹함수

- sum(), max(), min(), count(), avg() SELECT sum(salary) FROM employees; SELECT max(salary) FROM employees; SELECT min(salary) FROM employees; SELECT avg(salary) FROM employees; SELECT count(*) FROM employees; --무조건 전체 인원수 구하기 SELECT count(commission_pct) FROM employees; --commission_pct가 있는 사람만 구하기(null값 제외) SELECT avg(commission_pct) FROM employees; --null값 빼고 계산 SELECT sum(salary), min(salary..

[오라클]/SELECT 2020.12.26