분류 전체보기 136

16. C++ STL 알고리즘, 입력과 출력, 예외 처리

함수 객체함수 객체(function object)- STL 알고리즘에 데이터를 전달하기 위해서는 다음과 같은 방법을 사용합니다.    1. 함수 포인터   2. 함수 객체   3. 람다 표현식 - 많은 STL 알고리즘이 데이터를 처리하기 위해 매개변수로 함수 객체를 받아들입니다.- 펑크터(functor)라고도 불리는 함수 객체는 호출 연산자(())와 함께 사용할 수 있는 객체를 의미합니다.- 이러한 함수 객체는 우선 타입을 선언하고, 해당 클래스에서 호출 연산자(())를 오버로딩하여 구현하게 됩니다. 함수 객체의 장점직접적인 함수 호출과 비교하여 함수 객체를 사용하면 다음과 같은 장점을 가집니다.  1. 함수 객체는 상태(state)를 포함할 수 있습니다. 2. 함수 객체는 타입이므로, 템플릿 인수로 사..

15. C++ STL 컨테이너 : 시퀀스 컨테이너, 연관 컨테이너, 컨테이너 어댑터

컨테이너(container) - STL에서 컨테이너(container)는 같은 타입의 여러 객체를 저장하는 일종의 집합이라 할 수 있습니다. - 컨테이너는 클래스 템플릿으로, 컨테이너 변수를 선언할 때 컨테이너에 포함할 요소의 타입을 명시할 수 있습니다. - 컨테이너에는 복사 생성과 대입을 할 수 있는 타입의 객체만을 저장할 수 있습니다. 컨테이너의 종류 - STL에서 컨테이너는 자료를 저장하는 방식과 관리하는 방식에 따라 여러 가지 형태로 나뉠 수 있습니다. - STL 컨테이너는 크게 다음과 같이 세 가지 유형으로 구분됩니다.   1. 시퀀스 컨테이너(sequence container)  2. 연관 컨테이너(associative container)  3. 컨테이너 어댑터(adapter container..

14. C++ STL 반복자

STL, Standard Template Libarary- STL은 표준 템플릿 라이브러리의 약자로, C++에서 미리 만들어진 템플릿을 이용하기 위해 불러와 사용하는 라이브러리입니다.  STL 의 구성 요소-  C++ 표준 템플릿 라이브러리인 STL은 다음과 같은 구성 요소로 이루어진 템플릿을 제공합니다.반복자 (iterator)컨테이너 (container)알고리즘 (algorithm)  STL 반복자- 반복자는 컨테이너의 요소를 순회하는 객체입니다.- 마치 포인터처럼 동작하며, 요소에 접근하거나 조작할 수 있습니다. - 반복자의 종류 - STL은 제공하는 기능에 따라 반복자를 다음과 같이 다섯 가지로 분류하고 있습니다. 1. 입력 반복자(input iterator) - 가장 단순한 형태의 반복자로, 컨..

13. C++ OOP 개념 이해하기 : 캡슐화, 상속성, 다형성

C++의 OOP 개념 이해하기 : 캡슐화, 상속성, 다형성- C++은 강력한 객체 지향 프로그래밍(OOP) 언어로, 모듈화 및 재사용 가능한 코드를 작성하는 데 큰 도움을 줍니다.  OOP 캡슐화- 캡슐화  : 데이터와 메서드를 하나의 단위로 묶는 방법입니다.   클래스 내부의 데이터 멤버를 private으로 선언하고, public 메서드를 통해 접근하도록 설계하여 데이터의 무결성을 유   지 합니다.   이렇게 하면 외부에서 객체의 내부 구조를 직접 변경할 수 없으므로 안정성이 높아집니다. - 프렌드 함수 : 클래스의 비공개 멤버에 접근할 수 있는 특수한 함수로, 클래스 내부 구현에 직접 접근할 필요가 있을 때 유용합니다. - 정적 멤버 : 클래스의 모든 객체가 공유하는 멤버입니다. 클래스 내에 선언되..

5. 시큐리티 - 01. 선언적 시큐리티와 프로그래밍적 시큐리티

시큐리티의 개요- 시큐리티는 허가된 사용자만이 특정 웹 페이지에 접근할 수 있도록 제한하는 보안 기능입니다.- 사용자가 웹 브라우저에 접근할 때 JSP 컨테이너는 요청된 페이지에 보안 제약을 확인하고, 사용자에게 인증을 요청합니다.- 인증이 완료되면 JSP 컨테이너는 특정 사용자가 해당 페이지에 접근할 수 있는지 확인하여 승인하는데 이를 권한 부여(authorization)이라고 합니다. 시큐리티 처리 방법시큐리티 처리 방법설명선언전 시큐리티코드 작성 없이 web.xml 파일에 보안 구성을 작성하여 사용자의 인증을 수행하는 방식프로그래밍적 시큐리티request 내장 객체의 메소드를 통해 사용자의 권한을 부여를 처리하는 프로그래밍 방식  웹 서버에 역할과 사용자 구성하기- 웹 애플리 케이션의 인증과 권한 ..

Back-End/JSP 2024.06.17

12. C++ 생성자와 소멸자, 연산자 오버로딩

C++ 생성자와 소멸자, 연산자 오버로딩 생성자- 정의 : 생성자는 클래스의 특별한 멤버 함수로, 객체를 초기화하는 역할을 합니다.- 문법 :class ClassName { public: ClassName(parameters); }; - 예제:class Book { public: Book(const string& title, int total_page); private: string title_; int total_page_; int current_page_; double percent_; void set_percent(); }; Book::Book(const string& title, int total_page) { title_ = title; ..

4. 유효성 검사 - 01. 기본 유효성 검사와 데이터 형식 유효성 검사

유효성 검사- 유효성 검사 (Validation)는 사용자가 폼 페이지에서 입력한 데이터 값이 서버로 전송되기 전에 특정 규칙에 맞게 입력되었는지 검증하는 것을 의미합니다.- 유효성 검사의 예로는 폼 페이지에서 나이를 입력할 때 숫자를 인식하는 검사, 회원 가입 시 아이디 중복 검사 등이 있습니다. 1. 유효성 검사를 위한 핸들러 함수- 핸들러 함수는 폼 페이지에서 이벤트가 발생했을 때의 유효성 검사를 위해 매핑하는 메소드로, 자바스크립트를 이용하여 유효성 검사 코드를 작성합니다.- 자바스크립트는 웹 브라우저에서 유효성 검사를 처리하므로 서버에서 처리하는 것보다 속도가 빠르고, 서버에 과부하를 주지 않습니다.   2. 유효성 검사 처리 방법- 사용자가 폼 페이지에 입력한 데이터 값이 서버로 전송되기 전에..

Back-End/JSP 2024.06.07

11. C++ 함수의 범위와 클래스

C++ 함수와 범위에 대한 이해- C++ 프로그래밍 언어는 강력한 기능을 제공하며, 그 중 함수와 범위는 핵심적인 개념입니다.- 이를 통해 코드의 가독성과 유지보수성을 높일 수 있는 방법을 배울 수 있습니다. 함수 선언과 정의- C++에서 함수는 프로그램의 여러 부분에서 반복적으로 사용할 수 있는 코드 블록입니다. 함수는 선언과 정의로 나뉩니다. 선언은 함수의 이름과 매개변수를 명시하고, 정의는 실제 함수의 동작을 구현합니다.// 함수 선언int add(int a, int b);// 함수 정의int add(int a, int b) { return a + b;}함수 참조- 함수 참조는 함수가 정의된 위치와 다른 곳에서 그 함수를 사용할 수 있게 해줍니다. 이는 코드의 재사용성을 높여주며, 모듈화된 프..

10. C++ 함수의 기본

C++ 함수의 기본- C++ 함수는 프로그램의 특정 작업을 수행하는 코드 블록입니다.- 함수는 코드의 재사용성을 높이고 가독성을 향상시킵니다.  함수의 정의와 호출- C++에서 함수는 다음과 같은 구조로 정의됩니다: 반환형 함수명(매개변수) { // 함수 본문 return 값; // 반환형이 void인 경우 생략 가능 }// 예를 들어, 두 수를 더하는 함수를 정의해보겠습니다:int add(int a, int b) { return a + b; }// 위의 add 함수는 두 개의 정수를 받아 그 합을 반환합니다. 함수는 다음과 같이 호출됩니다:int result = add(3, 4); // result는 7 매개변수 전달 방법- 매개변수를 전달하는 방법에는 값에 의한 호출(Call b..

3. JSP 페이지 처리 기법 - 02. 파일 업로드

파일 업로드의 개요- 파일 업로드는 웹 브라우저에서 서버로 파일을 전송하여 서버에 저장하는 것 입니다.- 서버로 업로드할 수 있는 파일에는 텍스트 파일, 바이너리 파일, 이미지 파일, 문서 등 다양한 유형이 존재합니다. 파일 업로드를 위한 JSP 페이지 - 파일 업로드를 위해 form 태그에 인코딩 타입을 "multipart/form-data" 로 설정해야 합니다. 파일 업로드 처리 방법- 오픈 라이브러리 cos.jar 또는 commonsfileupload.jar를 사용해서 서버는 요청 파라미터를 분석하여 파일을 찾고 서버의 자원에 저장하는 과정을 거쳐야 합니다.종류특징필요한 라이브러리MultipartRequest 이용하기가장 간단한 방법cos.jar아파치 API 이용하기편리하고 강력한 API 제공com..

Back-End/JSP 2024.05.31