본문 바로가기

내가만드는것_만든것/오픈소스32

Spring-boot HttpInvoker 에서 json 사용하기 spring-boot-rest-http-invoker 기존의 HttpInvoker는 객체를 Serialize할 때 JavaSerializer을 사용합니다. 고로 JAVA 9 이전에서는 서로 다른 버전의 JVM이거나 사소한 객체의 버전이 다른 경우 정상적으로 동작하지 않습니다. spring-boot-rest-http-invoker는 JavaSerializer 대신에 Jackson ObjectMapper를 사용하여 Restful API로 변환합니다. RemoteInvocation 형식을 맞춘다면 PHP나 다른 언어에서도 동일하게 접근할 수 있습니다. 프로토콜 형식에 대해서는 아래를 참고해 주세요. github : https://github.com/jc-lab/spring-boot-rest-http-invok.. 2019. 2. 28.
MS3 (Amazon S3 호환 Object Storage) Spring 서버/라이브러리 MS3는 Mini Simple Storage Service의 약자로 만들어진 프로젝트 명으로써Amazon S3 클라이언트와 호환되는! (라이브러리 자체가 호환됩니다!)Object Storage 서버 및 클라이언트 입니다. https://bintray.com/jc-lab/cloud/ms3-springserverhttps://bintray.com/jc-lab/cloud/ms3-client jcenter repository를 통해 사용하실 수 있습니다. 서버/클라이언트 함께 있는 예제소스입니다.https://github.com/jc-lab/ms3-springserver-test 추후 상세 설명을 올리겠습니다...(언젠가...ㅠㅠ) import kr.jclab.cloud.ms3.server.spring.Enab.. 2018. 12. 18.
C++용 Serializable JSONObjectMapper C++에서 사용할 수 있는 Serializable 클래스를 만들었습니다. 객체를 std::vector 으로 변환할 수 있습니다. 지원하는 타입은 char, wchar_t, int, int8_t, uint8_t, ..., int64_t, uint64_t, float, double, -> std::vector 또는 native array 가능std::basic_string, std::basic_stringstd::list, std::list,std::list, std::list,등 입니다.. plugins/JSONObjectMapper 을 통해서는 해당 객체를 JSON으로 serialize/deserialize할 수 있습니다.(rapidjson연동) 저는 Java API Server와 JSON으로 통신할 때.. 2018. 11. 30.
JsCPPDBC (C++ Database Connectivity) C++에서 JDBC+JPA따라하기 C++에서 SQLite을 사용하는데 너무 쓰기가 불편해서... Java에서 JPA는 Entity만 만들면 CRUD는 알아서 만들어주고 사용할 있었는데... C++의 SQLite는 preparedStatment생성(SQL문 일일히 만들고..) -> bind -> step(execute) -> fetch(컬럼별로 또 일일히..) 이런 귀찮은 과정을 거쳤어야 합니다. 작업하고 있는 프로젝트가 커져가는데 DB관리가 너무 더럽..(the love)어 져서.. JPA을 약간.. 따라하여 JsCPPDBC을 만들었습니다.. JPA을 따라했다고 해서 너무 좋아하시면 안되구...^^ C++의 태생의 특성으로 인해 annotation-driven은 안되구.. Entity에서 setColumn을 통해 컬럼을 매핑시켜줘야 합니.. 2018. 11. 5.
[C++] SmartPointer 클래스 구현 C++에서 SmartPointer 탬플릿 클래스를 구현했습니다. 기본적으로 C++는 리턴이나 대입연산을 하면 복사를 해 버리는데SmartPointer을 이용하면 기존의 객체가 삭제되지 않고 유지되어 성능과 편리성이 향상됩니다.C++자체에 이런 기능이 있긴 하지만 그냥 구현해봤습니다. C++ 11 버전 이하에서도 사용 가능합니다. 대입연산(리턴 포함)과 Thread에 전달또한 가능합니다.(예제소스 참조) Windows/Linux 지원합니다. Windows용 예제소스 : #include #include #include #include #include "SmartPointer.h" class TestClass { public: int x; TestClass(){ std::cout 2016. 10. 31.
[C++] 7z 라이브러리 헬퍼 (JsSevenZipHelper) 7z 라이브러리 사용하는게 너무 불편하기도 하구... 그래서 간단히 사용할 수 있게 압축과 풀기를 지원하는 JsSevenZipHelper을 만들었습니다. 예제 소스 포함되어 있습니다. #include #include #include #include "JsSevenZipHelper/JsSevenZipHelper.h" int test_compress(int argc, char *argv[]) { JsSevenZipHelper::Compress compress; std::list fileList; JsSevenZipHelper::FileOutStream *pOutStreamSpec = new JsSevenZipHelper::FileOutStream(); CMyComPtr pOutStream = pOutStre.. 2016. 10. 23.
반응형