POCO C++ 라이브러리

POCO C++ Libraries
POCO C++ 라이브러리
개발자귄터 오빌츠니그 등
초기 릴리즈2005년 2월 21일, 17년 전(2005-02-21)[1]
안정된 릴리스
1[2].11.3 / 2022-06-12 [±]
저장소POCO 저장소
기입처C++
운영 체제크로스 플랫폼:
데스크톱 서버: Windows, Linux, macOS, Solaris, HP-UX, AIX
임베디드 모바일:Windows Embedded Compact, Embedded Linux, Android, iOS, QNX, VxWorks
플랫폼ARM, IA-32, x86-64
이용가능기간:영어
유형라이브러리 또는 프레임워크
면허증.소프트웨어 1.0의 부스트
웹 사이트pocoproject.org

POrtable Coomponents(POCO) C++ 라이브러리컴퓨터 소프트웨어입니다.컴퓨터 네트워크 중심의 휴대용 응용 프로그램을 프로그래밍 언어 C++개발하기 위한 클래스 라이브러리 세트입니다.라이브러리는 스레드, 스레드 동기화, 파일 시스템 액세스, 스트림, 공유 라이브러리 및 클래스 로드, 인터넷 소켓 및 네트워크 통신 프로토콜(HTTP, FTP, SMTP 등)과 같은 기능을 포함하며, HTTP 서버, SAX2 DOM 인터페이스와 SQL 데이터베이스 액세스를 포함하는 XML 파서를 포함합니다.모듈러형으로 효율적인 설계와 구현으로 라이브러리는 임베디드 시스템 개발에 매우 적합합니다.

라이브러리는 Boost Software License 1.0에 따라 배포되는 무료 오픈 소스 소프트웨어입니다.

개요

POCO는 Java Class Library 등의 다른 개발 환경에서 볼 수 있는 것과 유사한 라이브러리 지원을 사용자에게 제공하는 C++ 라이브러리 세트입니다.NET Framework 또는 Apple의 코코아.POCO는 네트워크 중심의 애플리케이션 도메인을 중심으로 강력한 기능, 사용 편의성 및 일관성을 중시하는 최신 ANSI/ISO 표준 C++ 및 C++ 표준 라이브러리 시설과 기술로 개발되었습니다.주로 코드 품질, 일관된 스타일 및 유닛 테스트에 의해 제어되는 POCO는 휴대성이 뛰어나고 이미 다양한 플랫폼에 이식되어 있습니다.

역사

라이브러리 계층

2017년 현재, POC C++ 라이브러리는 5개의 코어 라이브러리로 분할되어 있으며, 각 릴리스에서 옵션 애드온 라이브러리를 사용할 수 있습니다.POCO C++의 설계와 계층은 잘 [3][4]설계된 것으로 간주됩니다.5개의 핵심 컴포넌트 라이브러리는 Basic Edition에서 볼 수 있는 다음 영역에 대해 다룹니다.

토대
  • 플랫폼 추상화– 기본적인 유형의 이식 문제를 완화합니다.
  • 메모리 관리 – 자원 취득 초기화(RAII), auto_ptr, 참조 카운트 가비지 컬렉션 등
  • 문자열 유틸리티
  • 오류 처리 – 확장 예외 클래스
  • streams : 부호화, 디코딩 및 필터링 지원
  • 스레드 – 동시 처리 지원
  • 날짜 및 시간 – 형식 및 고정밀 타이머를 포함한 날짜 및 시간 지원
  • 파일 시스템 – 추상화된 파일 시스템 지원
  • 로깅 – 응용 프로그램 및 시스템 로깅, 필터링 및 로깅 전략
  • 프로세스 – 프로세스 간 통신 및 메모리 공유
  • 공유 라이브러리– 동적 라이브러리 지원
  • 알림 – 추상화된 알림 지원
  • 이벤트 – 이벤트 지원 및 전략 추상화
  • Crypt – 난수 생성, 다이제스트 및 인코딩/디코딩
  • 텍스트 – Unicode 인코딩 지원
  • 정규 표현 – Perl 호환 정규 표현에 기반합니다.
  • URI – 유니버설자원 식별자 지원
  • UUID – Universal Unique Identifier 지원 및 생성기
  • 캐시 지원 – 추상화된 전략 지원
그물
  • 소켓 – 추상화된 저수준 네트워크 지원
  • Reactor 패턴– 일반적인 네트워크 추상화 패턴 지원
  • MIME 메시지– 인코딩 지원
  • HTTP – 클라이언트 및 서버용 고급 HTTP 지원
  • FTP – 고급 FTP 지원
  • 메일 – POP3, SMTP 스트림 기반 지원
  • HTML – 폼 지원
XML
JSON
  • JSON 읽기 및 쓰기를 위한 API
효용
  • 컨피규레이션파일
  • 명령줄 옵션
  • 도구 및 서버 애플리케이션 프레임워크

많은 대상 의사 결정의 설계 목표 중 하나는 POCO C++를 기반으로 합니다.즉석에서 사용할 수 있는 사용하기 쉬운 컴포넌트 라이브러리를 제공하는 것입니다.2017년 현재 라이브러리는 기본 에디션과 전체 에디션의 두 가지 패키지 형식으로 제공됩니다.완전판에서는, NetSSL, 암호, Zip, 및 데이터 기능에 대해 설명합니다.Basic Edition은 그렇지 않으므로 OpenSSL, ODBC 및 MySQL 종속성과 같은 외부 설비에 대한 의존성이 제거됩니다.

오픈소스가 되는 것은 추가적인 라이브러리 기능의 개발을 가능하게 하고 장려합니다.기존 및 향후 라이브러리 지원의 설계 및 개발은 사용자 기반의 실용적인 요구에 따라 이루어집니다.라이브러리 추가는 샌드박스 개발 환경에서 이루어지며 핵심 개발팀의 승인에 따라 주요 라이브러리 릴리스에 검토 및 통합됩니다.

릴리스 이력

  • 2004 – Günter Obiltschenig는 네트워크 중심 프로그래밍을 위해 C++ 클래스 라이브러리에서 이용할 수 있는 것에 불만을 품고 클래스 라이브러리를 개발함으로써 POCO를 시작했습니다.
  • 2005년 2월 21일 – SourceForge의 첫 번째 공개 릴리즈에는 Sleepycat 라이선스로 Foundation 및 XML 지원 라이브러리가 포함되어 있습니다.
  • 2005년 5월 – Alexandar Fabijanic이 첫 번째 공헌을 했다.
  • 2006년 1월 19일 – POC 1.0 (Net 라이브러리 포함)이 출시되었습니다.
  • 2006년 7월 - POCO는 Boost 라이선스에 따라 존속되었습니다.
  • 2007년 5월– 데이터 라이브러리를 포함한 POCO 1.3 출시
  • 2010년 12월 – POCO 1.4가 출시되었으며, 많은 개선 사항이 포함되어 있습니다.
  • 2014년 12월 – JSON 및 MongoDB 라이브러리 및 기타 많은 개선 사항을 포함하여 POCO 1.6이 출시되었습니다.
  • 2016년 3월 – POCO 1.7 출시, 많은 개선 사항 포함.
  • 2018년 3월 - 국제화 도메인 이름 지원 및 지원되는 텍스트 인코딩 추가 등 POCO 1.9가 출시되었습니다.

사용자

사용자:[5]

「 」를 참조해 주세요.

메모들

  1. ^ 2005년 2월 21일:SourceForge의 첫 번째 공개 릴리스에는 Sleepycat License에 Foundation 및 XML 지원 라이브러리가 포함되어 있습니다.
  2. ^ "Releases - pocoproject/poco". Retrieved 2022-06-12.
  3. ^ "Why POCO is well implemented and designed?". 24 September 2009.
  4. ^ http://accu.org/content/conf2009/ACCU2009_Bernhard_Merkle_StopTheSoftwareArchitectureErosion.pdf[베어 URL PDF]
  5. ^ "Archived copy". Archived from the original on 2013-08-26. Retrieved 2011-02-01.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)

외부 링크