2021. 4. 21. 16:12ㆍ공부/정보처리기사
프로그래밍 언어 활용 C언어 C언어의 특징 - C프로그램은 함수의 집합으로 구성된다. - 이식성이(Portable)이 높은 언어이다. - 예약어가 간편 - 융통성과 강력한 기능은 갖고 있다. - 구조적 프로그램이 가능하다 기본구조 헤드부분 - #include(외부 파일 편입) - #define(매크로 정의) - 전역변수 및 사용자 정의 함수 선언 몸체부분 - main() = C프로그램에서 예약된 유일한 함수로 프로그램 실행시 가장 먼저 수행되는 함수(모든프로그램은 main함수부터 실행 시작) - main() 함수의 위치는 프로그램 내의 어디에나 위치 할수 있고 반드시 한 번 기술 되어야함 사용자 정의 함수 - 처리할 내용에 맞게 함수를 정의하고 경우에 따라서는 또 다른 함수를 호출할 수 있다. - 실제 프로그램에서는 사용자 정의 함수가 여러 개 나열되어 완전한 프로그램이 된다. - 함수 내부에서는 또 다른 함수를 정의할 수 없다. 2. C언어의 구성 요소 예약어(Reserved Word) 자료형 : char, int, float, double, enum, void, struct, union, short, long, signed, unsigned 등 기억분류 : auto, register, static, extern 제어구조 : if-else, for, while, do~while, switch-case~default, break continue, return , goto 연산자 : sizeof 명칭(Identifier) - 예약어만을 명칭으로 사용할 수 없다. - 영문자, 숫자, 밑줄( _ ) 을 사용하여 명칭을 구성 할수 있다. - 숫자로 시작해서는 안된다. - 대문자와 소문자는 구별된다. 자료표현 ![]() 자료형(Data Type) ![]() 3. C언어의 연산자 ![]()
<실행결과>
|
|||||||||
JAVA 언어 1. 자바의 개요 유래 = 오크라는 언어로부터 탄생되었다. 오크는 1991년 미곡의 선 마이크로 시스템즈사의 제임스 고슬링이 가전제품의 기능을 프로그램으로 제공하기 위해 개발하였다. 특징 - 단순하다. - 분산환경에 적합 - 인터프리터에 의해 실행된다( 하이브리드 방식) - 견고하다. - 안전하다. - 구조 중립적이다. - 이식성이 높다. - 높은 성능을 가진다 이전에는 높은 성능이라고 볼수 없엇지만 인터프리터 + JIT컴파일러로 변경되며 높은 성능을 가졋다 - 다중스레드를 제공한다. - 동적이다 2. 클래스 구조 형식 [접근자 | 옵션] class클래스 이름 [extends Superclassname] [ implements Interface(, Interface) ] { 클래스 정의하는 부분 ( 변수와 메소드 정의) } ※ { 와 } 사이에 멤버변수, 생성자 메소드 및 메소드를 기술 접근자(Modifiers)와 옵션(Option) - default(공백) 또는 package : 패키지 내부에서만 상속과 참조 가능 - public : 패키지 내부 및 외부에서 상속과 참조 가능 - protected : 패키지 내부에서는 상속과 참조가능, 외부에서는 상속만 가능 - private : 같은 클래스 내에서 상속과 참조 가능 - abstract : 객체를 생성할 수 없는 클래스 - final : 서브 클래스를 가질 수 없는 클래스 - static : 멤버 클래스 선언에 사용 객체의 선언과 생성 형식 클래스 이름 객체이름 = new 생성자 메소드; 레퍼런스변수 객체생성 - 작성한 클래스의 멤버 변수를 할당 받고, 메소드를 실행하기 위해서는 클래스로부터 객체를 생성해야 한다. - 속성의 접근 : 객체명.속성변수명 - 메소드 호출 : 객체명.메소드명(매개변수) ex)
|
|||||||||
파이썬(Python) - 파이썬은 1991년 프로그래머인 귀도 반 로섬이 발표한 고급 프로그래밍 언어이다. - 플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑 대화형 언이이다. - 파이썬의 특징 * 문법이 쉽고 간단하며, 배우기 쉽다. * 객체 지향적이다. * 다양한 패키지가 제공된다. * 오픈소스이며 무료로 제공된다. |
|||||||||
웹 제작언어 1. HTML(HyperText Makrup language) - 웹 브라우저 상의 정보를 표시 하기 위한 마크업 심볼 또는 파일 내에 집어넣어진 코드들의 집합 - 홈페이지를 만들 수 있는 컴퓨어 언어 - 웹에서 사용하는 하이퍼텟스트 문서를 만들 수 있는 언어 - 기호 < >로 기능이 약속된 예약어로 이루어져 있다. - 대소문자를 구분하지 않는다. 2. JavaScript - 네스케이프 사에서 개발한 라이브 스크립트(Live Script)와 썬 마이크로 시스템사사 만든 자바언어의 기능을 결합하여 만들어진 언어이며, 자바 언어에서 사용하는 문법을 따르고 있다. - HTML의 텍스트 위주의 문제점을 해결하고, 동적인 데이터를 처리할 수 있다. - HTML 문서 내에 자바 스크립트코드를 그대로 삽입하여, 클래스와 상속의 개념은 지원하지 않는다. 3. ASP(Active Server Page) - 서버 사이드 스크립트라는 특징이 있다. - 웹브라우저 에서 요청하면 웹서버에서 해석하여 응답해준다. - 별도의 실행 파일을 만들 필요 없이 THML 문서 안에 직접 포함 시켜 사용한다. - 클라이언트에서 부가적인 작업이 존재하지 않고, 단지 HTML 문서를 받아 화면에 보여주는 작업만으로 클라이언트의 역할이 끝난다. - ASP는 Windows 2000 Server, IIS, MS-SQL과 결합되어 이용되는것이 일반적이다. - 서버 입장에서는 ASP코드를 수행한 결과 THML문서만 클라이언트로 전송하기 때문에 ASP코드 및 ASP코드로 작성된 다양한 정보가 클라이언트로 전달되지 않아서 보안성이 증대되는 효과도 있다. 4. JSP(Java Server Page) - 서블릿(Servlet) 기술을 확장시켜 웹 환경에서 사용할 수 있도록 만든 스크립트 언어이다. - 웹브라우저에서 요청하면 웹서버에서 해석하여 응답해주며, 자바의 대부분의 기능을 모두 사용할수 있다. - 별도의 실행 파일을 만들 필요없이 HTML문서 안에 직접 포함시켜 사용하며, 동적인 웹문서를 빠르고 쉽게 작성할 수 있다. 5. PHP(Hypertext Preprocessor) - 하이퍼텍스트 생성 언어(HTML)에 포함되어 동작하는 스크립팅 언어이며, 웹브라우저에서 요청하면 웹서버에서 해석하여 응답해준다. - 별도의 실행 파일을 만들 필요 없이 HTML문서 안에 직접 포함시켜 사용하며, C, JAVA, 펄언어 등에 많은 문장 형식을 준용하고 있어 동적인 웹문서를 빠르고 쉽게 작성할수 있다. - ASP와 같이 스크립트에 따라 내용이 다양해서 동적HTML 처리 속도가 빠르며, PHP스크립트가 포함된 HTML페이지에는 .php, .php3, .phtml이 붙는 파일이름이 부여된다. 6. AJAX(Asynchronous JavaScript and XML) - 브라우저와 서버 간의 비동기 통신 채널, 자바스크립트, XML의 집합과 같은 기술들이 포함된다. - 대화식 웹 애플리케이션을 개발하기 위해 사용되며, Ajax 애플리케이션은 실행을 위한 플랫폼으로 사용되는 기술들을 지원하는 웹브라우저를 이용한다. |
|||||||||
네트워크 기초 활용 프로토콜 프로토콜의 개념 - 네트워크 상에 있는 디바이스 사이에서 정확한 데이터의 전송과 수신을 하기 위한 일련의 규칙(set of rules)이다. - 통신을 원하는 두 개체간의 무엇을 , 어떻게, 언제 통신할 것인가를 서로 약속하여 통신상의 오류를 피하도록 하기위한 통신 규약 프로토콜의 구성요소 - 구문(syntax)요소 : 데이터의 형식(format), 부호화 및 신호의 크기 등을 포함하여 무엇을 전송 할 것인가에 관한 내용이 들어 있다. - 의미(semantics)요소 : 데이터의 특정한 형태에 대한 해석을 어떻게 할 것인가와 그와 같은 해석에 따라 어떻게 동작을 취할 것인가 등 전송의 조정 및 오류 처리를 위한 제어정보 등을 포함한다. - 타이밍(timing)요소 : 언제 데이터를 전송할 것인가와 얼마나 빠른 속도로 전송할 것인가와 같은 내용을 포함한다. |
|||||||||
IOS의 OSI 표준 모델 1. OSI 7계층 참조 모델 ※ 물 데 네 트 세 프 응 정의 - Open System Interconnection(개방형 시스템)의 약자로 개방형 시스템과 상호접속을 위한 참조 모델 각 레이어의 의미와 역할 1) Physical layer(물리 계층) - 물리계층은 네트워크 케이블과 신호에 관한 규칙을 다루고 있는 계층으로 상위계층에서 보내는 데이터를 케이블에 맞게 변환하여 전송하고, 수신된 정보에 대해서는 반대의 일을 수행한다. 다시 말해서 물리계층은 케이블의 종류와 그 케이블에 흐르는 신호의 규격 및 신호를 송수신하는 DTE/DCE 인터페이서 회로와 제어순서, 커넥터 형태 등의 규격을 정하고 있다. 이계층은 정보의 최소 단위인 비트 정보를 전송매체를 통하여 효율적으로 전송하는 기능을 담당한다. 2) Data Link layer(데이터 링크 계층) - 데이터 링크 계층은 통신 경로상의 지점간 (link-to-link)의 오류없는 데이터 전송의 관한 프로토콜이다. 전송되는 비트의 열을 일정 크기 단위의 프레임으로 잘라 전송하고, 전송도중 잡음으로 인한 오류 여부를 검사하며, 수신측 버퍼의 용량 및 양측 속도 차이로 인한 데이터 손실이 발생하지 않도록 하는 흐름제어 등을 한다. 3) Network layer(네트워크 계층) ※ IP, IPsec - 네트워크층은 패킷이 송신측으로 부터 수신측에 이르기까지 의 경로를 설정해주는 기능을 수행한다. - 두개의 통신 시스템 간에 신뢰 할수 있는 데이터를 전송할 수 있도록 경로선택과 중계기능을 수행하고, 이 계층에서 동작하는 경로배정(routing)프로토콜은 데이터 전송을 위한 최적의 결로를 결정한다. 4) Transport layer(전송 계층) ※ TCP/UDP - 전송층은 수신측에 전달되는 데이터에 오류가 없고 데이터의 순서가 수신측에 그대로 보존되도록 보장하는 연결 서비스의 역할 을 하는 종단간 (end-to-end)서비스 계층이다. 5) Session layer(세션 계층) - 세션 계층은 두 응용프로그램 간의 연결 성정, 이용 및 연결해제 등 대화를 유지하기 위한 구조를 제공한다. 또한 분실 데이터의 복원을 위한 동기화 지점을 두어 상위 계층의 오류로 인한 데이터 손실을 회복 할수 있도록 한다. 6) Presentation layer(표현 계층) - 정보의 구문, 의미를 관여하는 계층으로 부호화(encoding), 데이터 압축(compression), 암호화(crtpyogtaphy)등 3가지 주요 동작을 수행한다. 7) Application layer(응용 계층) - 응용계층 네트워크 이용자의 상위 레벨 영역으로 , 화면배치 escape sequence 등을 정의하는 네트워크 가상 터미널 , 파일전송, 전자우편 , 디렉토리 서비스 등 하나의 유용한 작업을 할 수 있도록 한다. 2. TCP/IP 프로토콜 TCP/IP프로토콜은 OSI 7계층 모델을 조금 간소화 하여 네트워크 인터페이스(Newwork interface), 인터넷(internet), 전공(transport), 응용(application)등 네개의 계층 구조로 되어있다. 1) 네트워크 인터페이스(Network interface) 계층 - 네트워크 인터페이스 계층은 상위계층 (ip)에서 패킷이 도착하면 그 패킷의 헤더 부분에 프리앰블(preamble)과 CRC(Cyclic Redundancy Check)를 추가하게 된다. 2) 인터넷(internet) 계층 - 인터넷 계층은 패킷의 인터넷주소(internet address)를 결정하고, 경로배정(routing)역할을 담당한다. - IP(Internet Protocol) : ip는 연결 없이 이루어지는 전송 서비스를 제공하는데 이는 패킷을 전달하기 전에 대상 호스트와 아무런 연결도 필요하지 않다는것을 의미한다. - ARP(Address Resolution Protocol) : IP는 MAC주소를 알아내야만 통신을 할수 있으며, 이러한 IP의 요구에 해답을 제공해주는 프로토콜이 주소변환프로토콜(ARP)이다. - ICMP(Internet Control Message Protocol) : ICMP는 IP가 패킷을 전달 하는 동안에 발생 할 수 있는 오류 등의 문제점을 원본 호스트에 보고하는 일을 한다. 3) 전송(Transport) 계층 - 네트워크 양단의 송수신 호스트 사이의 신뢰성 있는 전공 기능을 제공한다. - 시스템의 논리 주소와 포트를 가지므로 각 상위 계층의 프로세스를 연결 하며, TCP와 UDP가 사용된다. - UDP(User Datagram Protocol) : 비연결 지향 프로토콜이며 TCP와 달리 패킷이나 흐름제어, 단편화 및 전송 보장등의 기능을 제공하지 않는다. - TCP(Transport Control Protocol) : 연결형 프로토콜이여 , 이는 실제로 데이터를 전송하기 전데 RCP세션을 맺는 과정이 필요함을 의미한다.(TCP3-way handshaking) Ddos공격 ※ 3-way handshaking 1.송신측이 수신측에 SYN세그먼트를 보내 연결 설정을 요청한다. 2.수신측이 송신측에 수신 확인으로 SYN 세그먼트를 전송한다. 3.송신측이 수신측에 응답 세그먼트의 확인 응답으로 ACK를 보낸다. ![]() - 연결 해제시 : 4-way handShaking 4) 응용(Application) 계층 - OSI 참조모델의 세션, 표현, 으용 계층을 합친 것이라 할 수 있다. |
|||||||||
인터넷 1.인터넷의 정의 - 서로 다른 컴퓨터 간의 신호교환을 위해 TCP/IP라는 전송 규악을 사용하여 연결된 모든 네트워크의 집합체이다. 2. IP주소체계 IP주소 - IP주소는 인터넷에서 연결된 컴퓨터가 실제로 인식하는 고유의 숫자로 표현된주소이다. - 0에서 255사이의 10진수로 표시하며, 세 개의 점으로 구분한다. EX)192.168.75.180 - IPv4로 32비트 체계이며, IPv6는 32비트에서 128비트로 확장한다. - IPv4의 최대 패킷 사이즈는 65,535바이트 이다. 3. IPv6 IPv4의 문제점 - IP설계시 예측하지 못햇던 많은 문제점이 발생하였다. = IP 주소 부족문제 = 인터넷 보안 취약함 등등.. IPv6의 등장 : RFC 2460 - IPv6는 128비트 주소 길이를 사용한다. - 보안문제, 라우팅 효율성 문제 제공한다. - QoS(Quality of Service)보장, 무선 인터넷 지원과 같은 다양한 기능 제공한다. IPv6 특징 확장된 주소 공간 - 32비트에서 128비트로 증가 - 주소 부족 문제를 근본적으로 해결 헤더 포맷의 단순화 향상된 서비스의 지원 보안과 개인보호에 대한기능 Unicast, Anycast, Multycast IPv6 주소 표기법 기본 표기법 - IPv6 주소는 128비트로 구성되는되 긴주로를 읽기 쉽게 하기 위해서 16비트씩 콜론으로 나누고 16진수로 표현하는 방법을 사용 ex) 1050:0000:0000:0000:0003:0111:599C:111A - 0값이 자주 있는 IPv6주소를 쉽게 표현하기 위해서 몇가지 생략방법이 제아나되었다 0으로만 구성된 필드가 연속될 경우 필드 안의 0을 모두 삭제하고 2개의 콜론만으로 표현하며, 생략은 한번만 가능하다 EX) 1080 : 0 : 0 : 8 : 0 : 0 : 200C : 417A 축약 1번 1080 :: 8 : 0 : 0 : 200C : 417A 축약 2번 1080 : 0 : 0 : 8 :: 200C : 417A 1080 :: 8 :: 200C : 417A -> 이런식으로 두번 연속 축약은 불가능 |
'공부 > 정보처리기사' 카테고리의 다른 글
정보처리기사_5과목_정보시스템 구축관리(1) (2) | 2021.04.26 |
---|---|
정보처리기사_5과목_정보시스템 구축관리(0) (0) | 2021.04.23 |
정보처리기사_4과목_프로그래밍 언어 활용(0) (0) | 2021.04.21 |
정보처리기사_3과목_데이터베이스구축(1) (0) | 2021.04.16 |
정보처리기사_3과목_데이터베이스구축(0) (0) | 2021.04.15 |