Dev 119

cdecl/asb 개발 중..

cdecl/asb 개발 중.. 1. wg/wrk (Modern HTTP benchmarking tool) - wrk는 커맨드 라인의 옵션으로, 간단한게 Http 서비스의 성능 평가를 할 수 있는 툴. - 윈도우 환경에서도 쓸 수 있지 않을까 했지만, Linux의 aio(Asynchronous I/O)으로 구현 되어 있어 포팅 불가. - 비슷한 툴로 Apache ab, JoeDog/siege 등이 있으며, github에 "benchmark" 등의 단어로 검색하면 더 많은 언어로 작성되어 있는 오픈소스를 찾아 볼 수 있음. 2. Boost Asio - 윈도우 환경이라면 IOCP로 작성 가능 하겠지만, 기본적으로 작성해야 할 내용이 많고 크로스 플랫폼을 지원하고 성능적인 부분에서 검증이 되어 있는 Asio로 ..

Dev/C++ 2015.04.01

cdecl/asb - Http benchmarking and load test tool for windows, posix

# cdecl/asb - Http benchmarking and load test tool for windows, posix - wg/wrk (Modern HTTP benchmarking tool)과 기능이 비슷한, Windows 버전으로 만들게 된 커맨드 라인 툴. - boost::asio 와 asio 에서 지원하는 ssl(openssl)을 이용하여 구현. - VC++ 2013 환경에서 개발하고, 라이브러리 패키지 NuGet으로 관리. - Posix 환경은 g++ (4.8 이상, -std=c++11), boost 라이브러리 및 libssl-dev (openssl) 패키지 설치 # 테스트 결과 - 테스트 환경 ; Laptop Intel i5(4세대), 4 Core, 8G RAM, Windows 8.1 6..

Dev/C++ 2015.03.18

Bonobo - Simple git server for Windows

# Bonobo - Simple git server for Windows - Git 서버를 윈도우즈 환경에서 운영하기 위한 플랫폼 - IIS 7 이상, .NET Framework 4.5, ASP.NET MVC 4 환경 # 설치 - IIS 설치 : Windows 7 이상이면 "프로그램 및 기능" - "Windows 기능 겨키/끄기" 에서 설치 가능 * 응용 프로그램 개발 기능에서 .NET 4.5 확장성 및 ASP.NET 4.5 활성화 - .NET Framework 4.5 설치 (Windows 8.1 이상은 이미 설치 됨) https://www.microsoft.com/ko-KR/download/details.aspx?id=30653 - ASP.NET MVC 4 (http://www.asp.net/mvc/m..

Dev/Windows 2015.03.16

Catch (A modern, C++-native, header-only, framework for unit-tests, TDD and BDD)

Github : https://github.com/philsquared/Catch Tutorial : https://github.com/philsquared/Catch/blob/master/docs/tutorial.md # 특징 - CppUnit, Google Test, Boost.Test 등등 다른 프레임웍크에 비해 의존성이 없는 헤더파일(catch.hpp) 하나면 사용 할 수 있음 * C++ Test Framework 비교 - 별도 빌드 모듈로 운영 할 수도 있음 - 크로스 플랫폼 지원 # 사용 - TEST_CASE 라는 기본 단위 테스트에 SECTION이라는 작은 부분으로 나누어서 테스트 할 수 있음 - 기본적으로 REQUIRE 와 CHECK 의 평가식을 이용하여 로직 검증. - REQUIRE 와 ..

Dev/C++ 2015.02.26

C++ REST SDK (casablanca) 간단 샘플

2021년 신규 작성 C++ REST SDK(cpprestsdk) Sample C++ REST SDK(cpprestsdk) Sample Introduction https://github.com/Microsoft/cpprestsdk Microsoft에서 만든 클라이언트, 서버용 C++ HTTP 통신 모듈이며, JSON URI, 비동기, 웹소켓, oAuth 등을 지원 C++11의 비동기, 병렬 프로그램 모델 지원 크로스 플랫 cdecl.github.io -- * https://casablanca.codeplex.com/ The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a..

Dev/C++ 2015.02.17

[C++11] Variadic template

# Variadic template - template 에서 타입의 인자를 가변으로 처리 할 수 있는, 새로운 ... 표현식이이 생겼다 - http://en.wikipedia.org/wiki/Variadic_template - 그리고 또 다른 설명인 MSDN의 링크 http://msdn.microsoft.com/ko-kr/library/dn439779.aspx variadic 템플릿 함수를 통합하는 대부분의 구현은 일부 양식의 재귀를 사용하지만 전통적인 재귀와는 약간 다릅니다. 전통적인 재귀는 같은 서명을 사용하여 자신을 호출하는 함수를 포함합니다. (오버로드하거나 템플릿화할 수 있지만 매번 동일한 시그너처가 선택됩니다.) Variadic 재귀에는 다른 수의 인수(거의 항상 줄어듦)를 사용하여 varia..

Dev/C++ 2014.11.02

Mybatis 테스트

# Mybatis 를 콘솔 어플리케이션 환경에서 테스트 - 한글소개 : http://mybatis.github.io/mybatis-3/ko/ - 다운로드 : https://github.com/mybatis/mybatis-3/releases - SQL Server용 Microsoft JDBC Driver 4.0 : http://www.microsoft.com/ko-kr/download/details.aspx?id=11774 # mybatis.xml - mybatis 의 기본 설정 파일 - 다중 DB 연결 관리(environment) 및 다중 매퍼파일 등록을 관리 - 다중 DB 연결 테스트를 위해 같은 DBMS의 DB 만 다른 설정 DOCTYPE configuration PUBLIC "-//mybatis.o..

Dev/Java 2014.10.30

SHA1 해쉬함수, boost 라이브러리로 구현

# SHA1 해쉬 함수의 경우 crypto++ 라이브러리로 사용 가능 하지만, 간단히(?) boost 라이브러리도 가능. http://www.cryptopp.com/ 실행 : http://coliru.stacked-crooked.com/a/4d6de3acd08dee1c#include #include using namespace std; #include #include string ToSHA1(const string s) { boost::uuids::detail::sha1 sh; sh.process_bytes(s.c_str(), s.length()); unsigned int digest[5]; sh.get_digest(digest); string r; for(int i = 0; i < 5; ++i) { r..

Dev/Encryption 2014.10.22

디피-헬만 키 교환, C++ 예제

# 큰수를 나타내기 위해 boost::multiprecision 의 cpp_int 클래스 이용 http://www.boost.org/doc/libs/1_56_0/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/cpp_int.html # 큰수를 나타내는 boost 지원 3개의 클래스 비교 http://www.boost.org/doc/libs/1_56_0/libs/multiprecision/doc/html/boost_multiprecision/tut/ints.html # 소수 판별을 위한 boost::multiprecision 의 miller_rabin_test 함수 사용 # 밀러 라빈 소수 판별법 http://ko.wikipedia.org/wiki/..

Dev/Encryption 2014.10.17

디피-헬만 키 교환

출처 : 위키백과 http://ko.wikipedia.org/wiki/%EB%94%94%ED%94%BC-%ED%97%AC%EB%A7%8C_%ED%82%A4_%EA%B5%90%ED%99%98 디피-헬만 키 교환위키백과, 우리 모두의 백과사전.디피-헬만 키 교환(Diffie–Hellman key exchange)은 암호 키를 교환하는 하나의 방법으로, 두 사람이 암호화되지 않은 통신망을 통해 공통의 비밀 키를 공유할 수 있도록 한다. 휫필드 디피와 마틴 헬만이 1976년에 발표하였다.디피-헬만 키 교환은 기초적인 암호학적 통신 방법을 수립하였으며, 이후 1977년 공개 키 암호 방식인 RSA 암호가 제안되었다.방식[편집]앨리스와 밥이 공개된 통신망에서 디피-헬만 키 교환을 하기 위해서는 다음과 같은 절차를 ..

Dev/Encryption 2014.10.16