설치 및 실행 Linux (Ubuntu) sudo apt update sudo apt install doxygen sudo apt install doxygen-gui # Doxygen GUI frontend sudo apt install graphviz ./doxywizard 한글 깨짐 (EUC-KR) 예전에 사용되었던 코드의 경우 파일의 encoding 방식이 euc-kr로 지정되어 있는 경우가 많아, doxygen 으로 생성한 문서에 한글 주석이 올바르게 표시되지 않습니다. 따라서 이 경우 encoding 방식을 다음과 같이 변경합니다. Export 탭 → Topics → Project DOXYFILE_ENCODING : EUC-KR OUTPUT_LANGUAGE : Korean-en Export 탭 ..
개발도구/기타
개요 리눅스 시스템에 대한 이해를 높일 수 있는 프로젝트인 Linux From Scratch - Version 10.1에서 사용된 많은 리눅스 명령어 및 프로그램을 정리하였습니다. ※ 특정 명령어들은 아직 이해되지 않아 정리 못하였습니다. 명령어 및 프로그램 blkid 블록디바이스의 속성을 획득하는 데 사용합니다. 특정 장치의 UUID (universally unique identifier)를 획득할 경우 다음과 같은 옵션을 사용할 수 있습니다. # blkid -s -o $ sudo blkid -s UUID -o value /dev/sdb3 -s : show specified tags(s) -o : 출력형식을 지정하는 데 사용합니다. tee 표준 입력을 받아들여, 표준출력과 파일 양측으로 동시에 출력하는..
개요 가상 머신 환경을 이용해 소프트웨어를 개발을 하게 되면 가장 많이 사용하는 기능은 공유폴더입니다. 해당 기능 활성화를 위한 VMWare의 매뉴얼 내용을 요약하였습니다. 본문 가상 머신의 운영체제는 Ubuntu 20.04입니다. 가상 머신에서 공유폴더 활성화하기 가상 머신을 선택한 후, [Edit virtual machine settings] > [Options] > [Shared folders]를 차례로 선택합니다. [Always enabled]를 선택한 후, [Folders] 하단의 [Add...]를 클릭하여 공유폴더 추가 마법사를 실행하여 공유폴더를 추가합니다. 리눅스 게스트에서 공유폴더 mount 하기 $ mkdir ~/shares $ /usr/bin/vmhgfs-fuse .host:/ ~/s..
개요 최신 버전의 리눅스(20.04)에 구 버전 컴파일러를 사용할 필요가 생겨 이를 설치한 과정을 정리합니다. 요약하면 소스코드를 받아 빌드할 필요 없이 패키지의 저장소만 추가하면 해당 버전을 간단히 설치할 수 있습니다. 설치 과정 (Option) 현재 설치된 gcc, g++ 버전 확인 gcc --version gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PA..
오류 파일 빌드시 아래와 같이 오류가 발생하며, 빌드가 진행되지 않습니다. Warning: File '파일이름' has modification time 47475481 s in the future 해결 시스템의 시간을 현재시간으로 변경합니다.
개요 JavaScript(Node.js) 와 Python으로 작성한 코드를 Heroku에 하나의 App으로 배포하고자 합니다. 로컬에서 실행할 때와 달리 Heroku만을 위하여 조금 설정할 내용이 있어 해당 내용을 작성합니다. Requirement 추가 Node.js도 그렇지만 파이썬 코드를 실행하려면 스크립트에서 import 한 많은 의존성 패키지들을 사전에 설치해주어야 스크립트가 배포된 환경에서도 정상 실행됩니다. Node.js 앱은 Heroku에 배포시 프로젝트에 포함되어 있는 package.json 파일의 내용에 따라 의존성이 있는 패키지들을 Heroku가 설치해 줍니다. 파이썬 역시 동일한 방식으로 동작하는데, 이 때 사용되는 파일은 requirements.txt라는 텍스트 파일입니다. 여기에 ..
개요 경기도 장애인 특별공급 알리미는 기존까지는 경기도청의 웹페이지만을 긁어와 여기에서 정보를 뽑아 웹 푸시 알림을 제공하였기 때문에 JavaScript를 이용해 모든 것을 처리하였지만, 첨부파일(엑셀 파일)의 처리도 필요하게 되어 해당 부분은 파이썬을 이용하는 것으로 추가 작성하였습니다. 그리고 이 스크립트를 기존에 동작중인 Node.js 에서 호출하여 실행하도록 할 계획입니다. Node.js App 작성 여느 스크래핑 서비스와 마찬가지로 주기적으로 웹 페이지를 읽어오도록 하였습니다. (실시간성이 중요한 서비스는 아니기 때문에 꽤나 듬성듬성 작업을 수행합니다.) 기본적인 express 앱을 사용하여 외부 접속을 동작 수행의 트리거로 하였습니다. 파일명은 index.js로 하여 다음과 같이 작성하였습니다..
개요 버그가 발생할 여지가 있는 요소를 확인해 볼 요량으로 ESLint를 JavaScript 프로젝트에 적용하였습니다. 덧붙여 코드의 편집은 VSCode를 주로 사용하기 때문에 해당 도구에서 즉시 확인할 수 있도록 확장 도구를 함께 설치하였습니다. 설치 및 사용 프로젝트 폴더로 이동하여 npm을 이용하여 ESLint를 설치합니다. npm install eslint --save-dev 다음 명령을 사용하여 설정파일을 생성합니다 ※ 해당 프로젝트에는 이미 package.json 이 있어야 합니다. npx eslint --init 생성된 .eslintrc.js 파일에 프로젝트에 따라 필요한 설정을 추가합니다. 저는 jquery 라이브러리와 firebase SDK를 프로젝트에서 사용하며 해당 모듈로 인하여 발생..