🧼C, C++/공지및 삽질

DragonStream <v1.0.0> 라이브러리 개발일지 #0

Mawile 2021. 2. 27.
728x90

 

발환경 >> Visual Studio

언어 >> C++20이상

운영체제 >> Windows10

 


안녕하세요!!

이번에 진행할 프로젝트는 DragonStream 이라는 라이브러리제작입니다.

 

저가 저번에 개발하고 있던 DragonDB 라이브러리는 이 라이브러리에 일부로 들어갈 예정입니다!!

mawile.tistory.com/129?category=959179

 

DragonDB - C++ 프로젝트 #1 근황

현재 제작진행중! 일부 소스코드 공개~~~ 아 참고로 현재만들고있는거는 서버와 데이터베이스구축을 도와주는 라이브러리 제작중입니다! 혹시 다 완성하고 어느정도 여유가있다면, http서버쪽도

mawile.tistory.com

 

 


[ 주요 목적 ]

여러가지 스트림형성을 도와주는 라이브러리이다.

주로 다룰 스트림종류는 소리정보, 파일정보, 네트워크정보, 이미지정보, 텍스트정보등이 있다.

여러가지 스트림을 하나의 독단적인 클래스가아닌, 서로 결합해서 유연하게 이어붙일수 있도록 할것이다.

예를들어서 네트워크정보스트림 + 소리정보스트림 = 음성채팅서버

또는, 소리정보스트림 + 파일정보스트림 = 소리녹음및 저장

또는, 텍스트정보스트림 + 네트워크정보스트림 = 텍스트채팅서버

또는, 이미지정보스트림 + 파일정보스트림 = 이미지저장및 관리

 

[ 현재 진행률 ]

(2021-02-27 #0 기준)

소리정보 (90%)      (순서 <2>)

파일정보 (0%)        (순서 <3>)

네트워크정보 (95%) (순서 <1>)

이미지정보 (0%)      (순서 <5>)

텍스트정보 (10%)    (순서 <4>)

 

[ 신경 쓰고 있는 부분 ]

내가 이 프로젝트를 진행하면서 매우 신경쓰고있는 두가지 요소가있다.

첫번째 이식성과 편리성이다.

우선 이식성이좋으면 이후 라이브러리 버전을 업데이트할때 유지보수 하기가 쉽다.

두번째는 편리성이다. 아무지 좋고 정교하더라도 어려우면 해당 라이브러리를 찾는사람은 많지 않을것이다.

 

그래서 어디다 갖다 붙혀도 잘 작동하고, 라이브러리사용자가 매우 유연하고 간단하게 사용하도록 설계하는것이 내가 제일 신경쓰고있는부분이다.

 

[ 그외 정보... ]

배포시, 다른 라이브러리처럼 오픈소스로 배포할지 정적라이브러리로 바꿔서 비오픈소스로 배포할지 고민이다.

왜냐면, 이번 프로젝트는 다른 프로젝트의 목적(순수 공부)과는 다른 공부30%실용성70%이기 때문이다.

내가 그동안 블로그글을 올리지않고 잠수를 탄이유또한 그동안 이런 프로젝트를 만들기위헤,

ipc, bitmap header, mci, winapi등등 여러가지를 공부했다.

이 프로젝트는 그러한것들을 이용해 실용적으로 사용할 수 있을지 테스트하는 라이브러리이기때문에 비오픈소스도 고려해본다.

 

 

[ 현재 진행중인 소스코드 현황 ]

아직 25%정도밖에 안만들었는데 472줄
현재 사용되고있는 기본 라이브러리들
SoundStream 극히 일부

 

 


 

 

 

 

 

 

728x90

댓글