Qt 라이센스 Qt 라이센스는 크게 두 가지로 나뉜다. 1. 오픈소스 라이센스 기본적으로 GNU (L)GPL((Lesser)General Public License)의 라이센스 정책을 따르며, 무료로 Qt 프로그램의 소스코드를 사용할 수 있다. 상업적인 용도의 제품을 개발할 때 Qt의 오픈소스를 사용하면 별도의 비용이나 Qt에 제공해야 하는 어떠한 것도 발생하지 않는다. GPL 또는 LGPL에 따른 정책만 알아서 지키면 된다. (ex. 개발 후 코드 공개 등) GPL에 관해서는 아래 글에서 확인할 수 있다. 2020/12/21 - [소프트웨어 개발 및 프로젝트 관리/라이센스 관리] - GNU GPLv2 (GNU General Public License version 2) 이 오픈소스를 다운받은 후부터는 ..
chrony 라이센스 본 글에서는 NTP(Network Time Protocol)를 구현한 데몬 프로그램인 chrony에 대한 라이센스 범위를 분석한다. chrony는 오픈소스로 구현되어 있으며 공식 홈페이지는 다음과 같다. chrony – Introduction The software is supported on Linux, FreeBSD, NetBSD, macOS, and Solaris. Closely related systems may work too. Any other system will likely require a porting exercise. chrony.tuxfamily.org 해당 홈페이지에 따르면 chrony는 2020년 현재 GPLv2 라이센스를 따르고 있으며, 상용 제품에서 사용..
GPSd 라이센스 본 글에서는 GNSS 관련 기능을 제공하는 GPSd에 대한 라이센스 범위를 분석한다. GPSd는 오픈소스로 구현되어 있으며 공식 홈페이지는 다음과 같다. GPSd — Put your GPS on the net! Donate here to support continuing development. About gpsd gpsd is a service daemon that monitors one or more GPSes or AIS receivers attached to a host computer through serial or USB ports, making all data on the location/course/velocity of the sensors avai gpsd.gitlab.i..
GNU GPLv2 (GNU General Public License version 2) 본 글에서는 GNU GPLv2 라이센스에 대해 소개한다. GNU GPLv2에 대해서는 다음 사이트에서 확인할 수 있다. GNU General Public License version 2 | Open Source Initiative GNU General Public License version 2 SPDX short identifier: GPL-2.0 Further resources on GPLv2 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, F..
본 글에서는 Typora 라는 무료 마크다운(Markdown) 편집기(뷰어) 프로그램을 소개한다. 마크다운 언어는 서식 있는 텍스트 파일을 매우 쉽게 작성할 수 있는 언어이며, 아래 글에서 기본 사용법을 소개하고 있다. 2020/02/27 - [소프트웨어 개발 및 프로젝트 관리/문서화] - 마크다운(Markdown) 언어 사용법 Typora 의 특징은 다음과 같다. 마크다운 문법에 맞춰 작성하면, 바로 서식이 적용되어 표시된다. 마크다운 문법 뿐 아니라, 기존의 잘 알려진 단축키를 통해서도 서식을 적용할 수 있다. 무료이다. Typora 설치 Typora는 아래 공식 웹사이트에서 다운로드할 수 있다. Typora — a markdown editor, markdown reader. Readable & Wr..
본 글에서는 마크다운(Markdown) 언어의 사용법에 대해 소개한다. 마크다운(Markdown) 언어란? 마크다운(Markdown) 언어는 서식이 있는 텍스트 문서를 작성하는데 사용되는 언어이며, 매우 사용하기 쉽다. 특히 마우스나 단축키를 사용하지 않고 일반적인 키보드 입력만으로도 서식을 적용할 수 있기 때문에, 문서 작성자 입장에서 사용하기에 매우 편리하다. 단, 이러한 사용 편의성으로 인해 서식의 미려함이나 다양성이 부족한 측면은 있다. 즉, 마크다운 언어는 문서 작성자에게 초점을 맞춘 언어로 생각할 수 있다. 문서 작성의 어려움을 최대한 감소시켜 문서 작성을 귀찮아 하는 사람들에게 문서 작성에 대한 의욕을 고취시킬 수 있다. 이러한 편의성 때문에 개발자들이 문서를 작성하는데 많이 사용하고 있으며..
본 글을 포함하여 몇 편의 글을 통해 소프트웨어 소스코드 관련 문서 작성 자동화에 대한 내용을 소개한다. 문서 작성 자동화 환경은 전용 툴을 이용하여 구성할 수 있다. 분야별로 다양한 문서 작성 자동화 툴이 존재하지만, 본 글에서는 C++ 코드에 관련된 문서 작성 자동화 툴인 doxygen을 소개한다. doxygen이 C++ 만 지원하는 것은 아니며, 지원 가능한 언어는 doxygen 공식 홈페이지에서 확인할 수 있다. 문서 작성 자동화의 장점은 소프트웨어 코드 작성과 동시에 문서 업데이트도 가능하다는 것이다. 특히 애자일 프로세스에 따라 개발되는 소프트웨어의 경우 수정과 배포가 빈번하게 발생하기 때문에, 이에 맞춰 문서를 지속적으로 업데이트 하기 위해서는 매우 많은 노력이 필요하다. 문서 작성 자동화를..
본 문서는 소프트웨어 개발 시 준수해야 하는 코딩 스타일을 정의하고 가이드한다. 본 문서의 가이드는 C 언어를 대상으로 하고 있으며 C99 표준이 적용된다(추후 C11 등 최신 표준으로 변경 적용 가능하며, 이에 따라 본 문서의 내용이 일부 변경될 수 있다). 본 문서의 가이드는 구글 C++ 코딩 스타일 가이드(https://google.github.io/styleguide/cppguide.html)를 기반으로 내부적인 필요에 따라 일부 내용을 수정, 변경하여 적용한 것이다. 함수 짧은 함수 F-1. 짧고 집중된 함수를 작성한다. 함수가 40 줄을 넘어가면 프로그램의 구조를 해치지 않는 범위에서 함수를 나눌 수 있도록 노력한다. 긴 함수가 지금은 잘 동작 하더라도, 누군가 나중에 새로운 동작을 넣을 수 ..
본 문서는 소프트웨어 개발 시 준수해야 하는 코딩 스타일을 정의하고 가이드한다. 본 문서의 가이드는 C 언어를 대상으로 하고 있으며 C99 표준이 적용된다(추후 C11 등 최신 표준으로 변경 적용 가능하며, 이에 따라 본 문서의 내용이 일부 변경될 수 있다). 본 문서의 가이드는 구글 C++ 코딩 스타일 가이드(https://google.github.io/styleguide/cppguide.html)를 기반으로 내부적인 필요에 따라 일부 내용을 수정, 변경하여 적용한 것이다. 주석 주석은 코드의 가독성을 유지하는 데 매우 중요하다. 하지만 이와 별개로, 가장 좋은 주석은 코드 자체이다. 즉, 최대한 주석 없이도 코드 만으로 이해할 수 있도록 코드를 작성한다. 타입과 변수, 함수 등에 이해할 수 있는 이름..
본 문서는 소프트웨어 개발 시 준수해야 하는 코딩 스타일을 정의하고 가이드한다. 본 문서의 가이드는 C 언어를 대상으로 하고 있으며 C99 표준이 적용된다(추후 C11 등 최신 표준으로 변경 적용 가능하며, 이에 따라 본 문서의 내용이 일부 변경될 수 있다). 본 문서의 가이드는 구글 C++ 코딩 스타일 가이드(https://google.github.io/styleguide/cppguide.html)를 기반으로 내부적인 필요에 따라 일부 내용을 수정, 변경하여 적용한 것이다. 변수 범위 변수의 범위를 적절히 조절함으로써 코드의 가독성이나 성능을 높일 수 있다. 지역 변수 R-1. 함수 내 변수는 가능한 한 좁은 범위에 둔다. C99 이상에서는 함수 어디에서나 변수 선언을 할 수 있지만, 변수를 가능한 한..
본 문서는 소프트웨어 개발 시 준수해야 하는 코딩 스타일을 정의하고 가이드한다. 본 문서의 가이드는 C 언어를 대상으로 하고 있으며 C99 표준이 적용된다(추후 C11 등 최신 표준으로 변경 적용 가능하며, 이에 따라 본 문서의 내용이 일부 변경될 수 있다). 본 문서의 가이드는 구글 C++ 코딩 스타일 가이드(https://google.github.io/styleguide/cppguide.html)를 기반으로 내부적인 필요에 따라 일부 내용을 수정, 변경하여 적용한 것이다. 이름 규칙 일관성을 위해 가장 중요한 것은 이름 규칙을 따르는 것이다. 이름의 스타일을 통해 요소의 선언을 찾지 않고도 해당 요소가 타입인지, 변수인지, 함수인지, 상수인지, 혹은 매크로인지 바로 알 수 있다. 이름 규칙은 개인의 ..
본 문서는 소프트웨어 개발 시 준수해야 하는 코딩 스타일을 정의하고 가이드한다. 본 문서의 가이드는 C 언어를 대상으로 하고 있으며 C99 표준이 적용된다(추후 C11 등 최신 표준으로 변경 적용 가능하며, 이에 따라 본 문서의 내용이 일부 변경될 수 있다). 본 문서의 가이드는 구글 C++ 코딩 스타일 가이드(https://google.github.io/styleguide/cppguide.html)를 기반으로 내부적인 필요에 따라 일부 내용을 수정, 변경하여 적용한 것이다. 참고로 본 스타일 가이드에 기술된 대부분의 가이드 항목은 IDE나 편집기에 설정하여 자동 적용되도록 할 수 있다. 서식 코딩 시 모두가 통일된 스타일을 사용하면 프로젝트를 파악하기 쉬워진다. 각자가 모든 서식 규칙에 동의하기 어렵고..