본문 바로가기

분류 전체보기148

[C++프로그래밍] 예외처리 예외(exception)란? 프로그램 실행 도중에 발생 할 수 있는 비정상적인 사건 → 비정상인 데이터, 자원의 부족 등 예외 상황에 대한 적절한 대비를 하지 않으면 프로그램이 안정적으로 실행되지 않는 문제가 일어날 수 있음 예외처리(exception handling) 프로그램 실행 중 예외가 발생하였을때를 대비해 분기처리하는 것 예외처리에 따른 자원 관리 문제 스마트 포인터의 활용 unique_ptr : 할당된 메모리를 한 개의 포인터만 가리킬 수 있음 shared_ptr : 할당된 메모리를 여러 개의 포인터로 가리킬 수 있음 vector 사용 가능 noexcept 함수 지정 → 함수가 예외를 일으키지 않음을 지정 template T max(const vector& v) noexcept { auto p.. 2022. 12. 1.
[C++ 프로그래밍]템플릿 컨테이너 클래스 객체를 저장하는 클래스 클래스 템플릿의 선언 형식 template class ClassTemplateName { ...... } templateParameters : 템플릿 매개변수 목록 → 자료형을 받을 템플릿 매개변수 : ‘typename T’ 또는 ‘class T’ 로 표기(T 는 사용자 정의 명칭) classTemplateName : 클래스 템플릿 이름 클래스 템플릿의 선언 매개변수 T의 값에따라, 달라진다. template class Stack { T *but; // buffer pointer int top; // stack top int size; // 스택의 크기 public : Stack(int s); // 생성자 virtual ~Stack(); // 소멸자 bool ful.. 2022. 12. 1.
[C++ 프로그래밍]연산자 다중정의 피연산자의 자료형과 연산자 동일한 연산자라도 구체적인 처리 방법은 피연산자의 자료형에 따라 달라진다. 연산자 다중정의란? c++ 에 정의된 연산자를 사용자가 선언한 클래스의 객체에 대하여 사용 할 수 있도록 정의 하는 것 연산자의 의미를 임의로 바꾸지 않는다. 고유의 특성이 유지되도록 한다. 연산자의 다중정의 위치 클래스의 멤버로 정의하는 방법 → 연산자의 구현 과정에서 객체의 멤버를 액세스 할 수 있음 클래스 외부에서 정의하는 방법 → 클래스의 멤버가 아니므로, 객체의 private 멤버는 직접 사용 x 다중정의 형식 전위 표기법 ReturnClass ClassName::operator opSymbol() { ······ } opSymbol : ++ , — 등의 단항 연산자 기호 형식 매개변수 x 후위.. 2022. 12. 1.
[C++ 프로그래밍] 클래스와 객체 객체(Object) 란? 소프트웨어 시스템 안의 어떠한 대상을 표현한 것으로 정해진 처리를 수행 → 행위, 메소드, 멤버함수 처리 과정에 따라 내부 상태가 변화할 수 있음 → 속성, 데이터 멤버 다른 객체와 상호작용 할 수 있음 → 메시지 전달(멤버 함수 호출) 클래스(Class)란? 객체의 설계도 객체가 포함할 데이터 멤버의 선언과 멤버 함수의 정의를 포함한다. 클래스 선언문 형식 class ClassName { private: // 가시성 지시어 - 멤버 공개 범위를 나타냄 (public,private,protected) int value; // 데이터 멤버 - 값을 저장 할 변수 (속성) void reset() ······ }; 가시성 지시어 class의 공개 범위를 나타낸다. private (기본.. 2022. 12. 1.
[C++ 프로그래밍] 함수 함수란? 특정 작업을 수행하는 프로그램 문장들을 하나의 단위로 모아놓고 이름을 부여한것 return 명령을 이용하여 결과 값을 반환함 함수 원형의 사용 → 함수가 호출 위치에 비해 뒤에 정의되어 있거나 다른 파일에 정의되어 있을 때는 함수 원형을 선언해야 한다. 인수의 전달(값 호출과 참조 호출, const 인수, 디폴트 인수) → const 인수를 사용하면 참조 호출을 하거나 포인터를 인수로 전달 할 경우 이에 해당되는 데이터를 보호할 수 있다. 함수 다중 정의를 할 때는 각각의 함수가 인수의 자료형이나 개수로 구분 할 수 있어야 한다. →함수 다중 정의란 동일한 이름을 갖는 함수를 여러 개 정의 하는 것이다. 다중 정의된 함수의 구분은 인수의 개수 및 자료형을 가지고 판단한다. 함수 정의 방법 **R.. 2022. 12. 1.
[UNIX시스템] 기말시험 요약정리 요점 정리 GNU 프로젝트 (1987) 리처드 스톨만이 UNIX와 유사한 공개 운영체제를 개발 하기 위해 GNU 프로젝트를 시작 소프트웨어 상업화에 반대하고, 소스코드의 공유, 자유로운 사용 및 배포 Free Software Foundation(FSF) 운동의 시초 리눅스 배포판 종류 Debian 리눅스 GNU 정신에 가장 충실한 배포판 CentOS 리눅스 Red Hat 파생 서버용으로 많이 사용 됨 Slackware 리눅스 현존하는 가장 오래 된 배포판 , SLS 리눅스로부터 파생 유닉스 자체 학습에 적합 리눅스 디렉토리 구조 디렉터리 의미 / 최상위 디렉토리 , (절대경로의 기준) /root root 계정의 홈 디렉토리 /dev 시스템 디바이스 파일(장치파일) 저장 디렉토리 /boot 부팅에 필요한 .. 2022. 12. 1.
[UNIX시스템] 웹 서버 웹 서버 클라이언트의 HTTP 요청을 처리하여 웹 페이지의 내용을 클라이언트에게 제공하는 서버 프로그램 서버와 클라이언트는 네트워크를 통해 연결되므로, 웹 서버와 웹 브라우저 사이에 통신을 위한 프로토콜 필요함 HTTP (HyperText Transfer Protocol) 웹 환경에서 서버와 클라이언트 간에 정보를 주고 받기 위한 프로토콜 요청(request) 과 응답(response) 프로토콜 클라이언트가 서버에게 특정 자원에 대한 요청(GET, POST 등)을 보냄 클라이언트의 요청에 대해 서버가 응답함 APM(Apache, PHP, MySQL) Apache HTTP 서버, PHP 스크립트 처리기, MySQL 데이터베이스 관리 시스템을 지칭함 APM을 이용한 웹 서버 동작 과정 클라이언트가 웹 문서를.. 2022. 11. 30.
[UNIX시스템] 파일시스템 관리 전통적인 방식 전통적 방법들은 암호화가 되지 않은 데이터를 주고 받음 원격 접속 : telnet 명령 원격의 컴퓨터에 telnet 프로토콜로 접속하는 프로그램 telnet [-l user] host telnet user@host 원격 파일 전송: ftp 명령 원격에서 터미널로 접속하여 파일을 업로드하거나 다운로드 할 수 있는 파일 전송 프로토콜 또는 프로그램 원격 파일 복사: rcp 명령 원격의 컴퓨터와 서로 파일을 복사하는 프로그램 (cp 와 유사) rcp는 ftp와 달리 일회성으로 파일을 전송 rcp [-r] source_file target_file 원격 관리를 위한 전통적인 방법(telnet, ftp, rcp 등)의 문제 서버와 클라이언트 간 연결을 통해 주고받는 모든 명령과 결과 및 계정 정보 .. 2022. 11. 30.
[UNIX시스템] 네트워크 설정 및 점검 네트워크 인터페이스 컴퓨터와 네트워크 간의 연결을 제공하는 장치 네트워크 인터페이스 카드(NIC)에 위치함 - lan, ethernet 카드 라고도 불림 개별 네트워크 인터페이스 카드는 고정된 이더넷 주소(MAC주소) 를 가지고 있으며 IP 주소를 할당 받을 수 있다. ifconfig 명령 네트워크 인터페이스 정보를 확인하거나 설정하는 명령 이더넷 주소 or IP 주소를 확인 할 수 있음 네트워크 인터페이스 설정이나 통계를 확인할 수 있음 $ifconfig eth0 Link encap:Ethernet HWaddr **08:00:27:D6:03:7B** inet addr:**10.0.2.15** Bcast:10.0.2.255 Mask:**255.255.255.0** inet6 addr: fe80::a00:.. 2022. 11. 30.
728x90