제가 지금까지 만들었던 C++ 라이브러리 일부를 정리해 봅니다.
Java, 특히 Spring-boot framework의 영향을 많이 받아서 C++에서도 Java스럽게, 그리고 편하게 개발하기 위해 만든 라이브러리들입니다.
1. JsCPPUtils
github : https://github.com/jc-lab/JsCPPUtils
말 그래도 C++에서 사용할 수 있는 잡다한 라이브러리 입니다.
저는 여기서 주로 SmartPointer(Reference count기반)을 많이 사용합니다.
저는 스마트포인터와 SecureRandom/Well512Random/StringBuffer/StringEncoding 등을 주로 사용합니다.
처음 계획은 Windows/Linux모두에서 작동하는 라이브러리를 만드는 거였는데 처음 목적을 좀 상실해서 사실 대부분 Windows기반이긴 합니다.
주요 기능인 Common/SmartPointer/Lockable/StringBuffer 등은 Linux에서도 작동합니다.
추후.. java의 GC기반 SmartPointer도 만들어 보고 싶은데 언제나 가능할지...
2. JsCPPBean
github : https://github.com/jc-lab/JsCPPBean
test 코드 : https://github.com/jc-lab/JsCPPBeanTest
blog : https://jsty.tistory.com/165
Spring framework를 사용해 보셨으면 많이 보셨을 Bean. 네 바로 그 Bean이 맞습니다.
C++에서 Bean과 Autowired를 구현해주는 라이브러리 입니다.
전역 프로그램에서 사용되는 클래스를 일일히 선언하고 공통 헤더파일을 가져오고.. 또 공통헤더가 바뀌면 컴파일 엄청 오래 걸리고.. 하는 문제를 해결할 수 있으며 Java스러운 코딩이 가능합니다.
3. JsBsonRPCSerializable
github : https://github.com/jc-lab/JsBsonRPCSerializable
test 코드 : https://github.com/jc-lab/JsBsonRPCSerializable-testproject
blog : https://jsty.tistory.com/164
C++ 에서 객체를 Serialize/Deserialze 할 수 있게 도와주는 라이브러리 입니다.
Serialize 형식은 Bson 형식을 따르며, JSONObjectMapper 클래스를 통해 json(rapidjson)변환 기능도 지원합니다.
또한 JSONObjectMapper를 사용하면 rapidjson 객체로도 변환이 가능합니다.
Restful API로 통신할 때나 IPC, DLL에서 객체 교환할 때 주로 사용하며, 유용하게 사용할 수 있습니다.
4. JsCPPDBC
blog : https://jsty.tistory.com/149
github : https://github.com/jc-lab/JsCPPDBC
github(SQLiteDriver) : https://github.com/jc-lab/JsCPPDBCSQLiteDriver
Java의 JPA를 좀 따라해본 DB라이브러리 입니다.
현재 SQLite 데이터베이스 드라이버만 지원합니다.
Entity클래스와 Repository클래스를 통해 쉽게 데이터 CRUD가 가능합니다.
'개발 및 운영' 카테고리의 다른 글
postfix restrictions 에 대해.. 끄적끄적 (1) | 2019.05.28 |
---|---|
libeay32.dll/ssleay32.dll LoadLibrary시 ERROR_INVALID_ADDRESS(487)오류나는 경우 (0) | 2019.05.17 |
크롤링 Tree 구조 그래프 민들레인듯 꽃다발인듯 (1) | 2019.02.22 |
개발자 면접보며 느낀 것 + (2cpu 덧글에 쓴거) (1) | 2019.02.12 |
IntelliJ IDEA Hangs... 뻑하면 멈추는 문제 (1) | 2018.12.21 |
댓글