j2_library는 C++17 기반의 범용 유틸리티 라이브러리입니다. Windows와 Linux를 우선 지원하며, 향후 macOS 지원이 예정되어 있습니다. 빌드는 CMake(Ninja) 기반으로 수행됩니다.
주요 기능 모듈:
bit— 비트 연산, 비트 배열 등config— 설정 파일 파싱/관리core— 범용 유틸리티, 단일 함수 래퍼 등crypt— 암호화/복호화, 암호 유틸datetime— 날짜/시간 처리, 변환, 문자열화directory— 디렉토리 생성/조작 유틸encoding— 문자열 인코딩 변환, 인코딩 함수expected—std::expected대체 유틸file— 파일 탐색, 파일 정보, 실행 파일 경로 등ini— INI 파일 읽기/쓰기, 파서json— JSON 처리 유틸 (nlohmann/json 등 활용)log— 로거 관리자, 로그 유틸macro— 편의 매크로, getter/setter, try_opt 등network— HTTP/HTTPS/FTP, TCP/UDP, 네트워크 인터페이스 등overload— 람다 오버로드 유틸queue— SPSC 스레드 안전 큐, concurrent queueresult— 함수 반환 결과 유틸schedule— 스케줄러, 주간 반복 등string— 문자열 유틸, UTF-8, 콘솔 인코딩, 뮤텍스 문자열 등system— 시스템 정보, 크래시 핸들러, 디바이스 ID, 리소스 모니터 등thread— 동적 스레드, 스레드 유틸uuid— UUID 생성, v4 지원xml— 경량 XML 파서, XML 파싱 유틸
-
빠른 시작
- 소스 클론
git clone https://github.com/JayTwoLab/jaytwo-library.git cd jaytwo-library - 빌드 (예: Release, out-of-source)
mkdir -p build && cd build cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release .. ninja
- 테스트 실행
ninja test
- 소스 클론
-
Visual StudioMinGW(g++)Linux(g++)
-
Visual StudioMinGW(g++)Linux(g++)
- 홈페이지 : https://github.com/JayTwoLab/jaytwo-library
- 문의사항은 이슈를 남겨주세요
본 프로젝트는 듀얼 라이선스(dual-licensing) 정책을 채택합니다. 사용 목적에 따라 아래 라이선스 중 하나를 선택하여 적용하십시오.
- 무료(오픈소스) 사용 — GNU Lesser General Public License v3 (LGPLv3)
- 소스 코드의 복제, 배포, 수정 및 파생 저작물 작성이 허용됩니다.
- LGPLv3의 조항을 따르며, 라이브러리를 수정하거나 수정된 라이브러리를 포함하여 재배포하는 경우 해당 변경사항을 공개해야 할 수 있습니다. 자세한 내용은 https://www.gnu.org/licenses/lgpl-3.0.html 를 참조하십시오.
- 상용 사용 — 상용 라이선스
- 상용 사용자는 프로젝트 소유자로부터 제공되는 별도의 상용 라이선스를 취득할 수 있습니다.
- 상용 라이선스는 명시적으로 소스 코드를 자유롭게 사용, 수정, 통합 및 재배포할 수 있는 권한을 부여합니다(상표 권리와는 별도).
- 상용 라이선스의 구체적 조건(예: 재배포 조건, 서브라이선스 허용 여부, 유지보수/지원 포함 여부, 비용 등)은 라이선스 계약서에 따릅니다. 상용 라이선스를 원하시면 문의처(
jaytwo@jaytwo.kr)로 연락해 주세요.
공통 조항
- 본 소프트웨어는 "있는 그대로"(AS IS) 제공되며, 명시적이거나 암시적인 보증이 없습니다. 프로젝트 소유자는 상품성, 특정 목적 적합성 또는 제3자 권리 미침해에 대한 보증을 포함하되 이에 국한되지 않는 어떠한 보증도 하지 않습니다.
- 어떤 경우에도 프로젝트 소유자는 본 소프트웨어 사용으로 인해 발생한 직간접적, 특별한, 부수적, 결과적 손해(수익 손실, 업무 중단, 데이터 손상 등)에 대해 책임을 지지 않습니다.
- 본 라이선스 설명은 법률 자문을 대체하지 않습니다. 기업용 배포 또는 법적 효력이 중요한 상황에서는 변호사와 상의하시기 바랍니다.
추가 고지
- 제3자 구성 요소에 적용되는 라이선스가 있을 수 있으며, 해당 구성 요소의 라이선스가 본 프로젝트에 추가적 의무를 부과할 수 있습니다. 개별 파일의
LICENSE파일 및 주석을 확인하시기 바랍니다. - 상표 및 로고 사용은 별도의 승인 대상일 수 있습니다. 상표 관련 문의는 위 연락처로 해주십시오.
자세한 라이선스 원문은 레포지토리 루트의 LICENSE 파일을 참조하십시오.