전체 글 (8) 썸네일형 리스트형 Qt를 활용한 네트워크 실전 프로그래밍 (1) 목적 Qt Framework에서 제공하는 QTcpSocket, QThread Class를 활용하고 Half-sync, half-async 동기화 패턴을 적용한 이더넷 네트워크 상에서의 동기식 쓰기, 비동기식 읽기 요청을 지원하는 TCP Client Application을 개발하는 절차와 방법을 설명한다. 개요 Qt는 네트워크 프로그래밍을 위한 풍부한 Socket API를 지원하고 단일 thread에서 signal/slot 방식으로 socket 이벤트를 처리할 수 있게 함으로써 보다 쉬운 네트워크 개발 환경을 제공한다고 한다. 실제로 Qt Creator에서 제공하는 샘플 코드를 통해 간단한 TCP/IP 프로토콜 기반의 server, client를 쉽게 만들어 볼 수 있다. 하지만 실제 업무에서 Qt를 활용.. QT Application 개발 환경에 Crypto++ 라이브러리 추가 방법 목적 Windows + MinGW 개발 환경에서 QT Framework을 사용한 보안 application 을 개발하는 과정에서 Crypto++ 라이브러리 추가에 성공한 방법을 공유하려고 한다. 개요 Crypto++ 라이브러리는 C++ 언어로 작성된 암호화 알고리즘을 제공하는 라이브러리로 난수 생성, Hash 함수, MAC 알고리즘, 공통키 암/복호화 알고리즘, 공개키 암/복호화 알고리즘, 키 생성 및 전자서명 알고리즘등 보안 어플리케이션 개발에 필요한 대부분의 API를 제공한다. QT는 desktop application 개발을 위한 framework 및 SDK를 제공하며 C++과 Python 언어를 지원한다. QT는 MSVC와 같이 Cross Platform 개발 환경을 지원하므로 동일한 C++ 소스.. 객체지향 C 프로그래밍 C 프로그램을 C++, C# 프로그램 처럼 하나의 소프트웨어 개발 프로젝트에서 차지하는 프로그램의 크기가 점점 증가하고 시장의 요구에 따른 소프트웨어 개발 기간은 점차 줄어듦에 따라 기존에 만든 소스 코드의 일부만 수정하여 다시 사용할 수 있는 이식성과 기존 코드에 새로운 기능을 쉽게 추가할 수 있는 확장성이 소프트웨어의 품질을 좌우하는 매우 중요한 요소가 되었다. 1. 절차 지향 -> 데이터 지향 소프트웨어 개발 초등학생 시절 (1990년대 초반) 방과 후 수업반으로 컴퓨터 반에서 프로그래밍을 배웠었는데, 선생님께서는 가끔 팩맨 같은 간단한 게임 프로그램 소스 코드를 출력해 오신 뒤에 학생들에게 직접 타이핑해서 실행해 보게 하셨던 기억이 난다 당시에는 빨리 타이핑해서 게임을 플레이하는게 목적이었기 때문.. 이전 1 2 3 다음