본문 바로가기

분류 전체보기

Git Page 처음 만져보기 (feat. Jekyll) 이전 포스트에서는 Git Page를 생성해보고 샘플 템플릿을 적용시켜보았다. 이제는 이 놈들을 잘 어루만져주어야 나만의 페이지를 작성할 수가 있는데 환경 설정부터 하나씩 알아보자. 1. Ruby 설치하기 Jekyll은 Ruby언어로 작성되었기 때문에 Ruby를 먼저 설치해야 한다. https://rubyinstaller.org/downloads/ Downloads Which version to download? If you don’t know what version to install and you’re getting started with Ruby, we recommend that you use the Ruby+Devkit 2.7.X (x64) installer. It provides the bigge.. 더보기
Git Page 처음 시작하기 시작하기에 앞서... Git Page란 Github에서 제공하는 정적 웹 호스팅 서비스로 Git 저장소의 내용을 웹페이지로 변환하여 보여준다. 이 때 Jekyll을 사용하여 Markdown, Liquid, HTML&CSS를 자동으로 변환하여 웹으로 보여준다. 그럼 이제 간단한 Git Page를 만들어 보자. (기본적인 git 사용방법/명령어들은 알고 있다는 가정하에 진행한다.) 1. Git Page 생성하기 먼저 Git 계정을 생성하고 Repository를 추가한다. 입력하는 Repository name이 홈페이지의 주소가 된다. 즉 Git 계정 아이디가 홈페이지의 주소가 되니 아이디 생성 시 고려하자. 만약 Git 계정 아이디가 testpage 라면 아래처럼 Repository name을 설정하면 된다.. 더보기
정적 분석 툴 [Sonar Qube] 소개 및 사용법 2 이전 포스트에서 Sonar Qube를 사용하기 위한 모든 준비를 마쳤다. 이제 정적 분석 툴을 돌려보자. 커맨드 창을 열어 정적 분석을 원하는 솔루션 폴더의 경로로 이동한다. (.sln) 앞서 봤던 절차대로 하나씩 카피하면서 커맨드창에 입력 해준다. (아래 3가지 명령어는 따로 복사해서 저장해두는 것을 추천) SonarScanner.MSBuild.exe begin 명령어 실행 시 위와 같은 화면이 나와야 정상이다. 혹시나 에러 발생 시 구글에 해당 에러를 검색하면 원인을 알 수 있을 것이다... 2번째 명령어 입력... 마지막 명령어 입력... 3개 명령어 수행이 잘 끝났다면 다시 Sonar Qube 웹서버로 가보자. 프로젝트 정보가 아래와 같이 갱신되었을 것이다. 여기서 결과를 보고 현재 자신의 코드에.. 더보기
정적 분석 툴 [Sonar Qube] 소개 및 사용법 1 이번에는 Sonar Lint보다 더 강력한 정적 분석 툴인 Sonarqube에 대해 알아보려 한다. 이 놈도 무료이긴한데, VS 처럼 Community(무료), Developer, Enterprise 등의 유료버전이 있다. 다행히도 무료버전에서도 기본적인 언어 15개를 지원한다. (C++, C#, Java, JS, Phython 등) 다운로드 사이트: https://www.sonarqube.org/downloads/ Download | SonarQube Download SonarQube 7.9.x LTS www.sonarqube.org 무료 버전인 커뮤니티버전을 다운받는다. 다운받으면 압축파일이 하나 생기는데 압축을 풀고 자신의 최애 경로로 이동시켜준다. \sonarqube-8.3.1.34397\bin\.. 더보기
코드 분석 플러그인 [Sonar Lint] 소개 및 사용법 무작정 코딩을 하다가 아, 내가 정말 잘 하고 있는가 의심이 들때가 있다. 항상. 혼자서 개발을 하다보니 코드리뷰를 하기엔 여의치 않은 상황이고 기능상 문제도 없고, 나름의 코딩 규칙을 만들어 코딩을 하고 있지만 검증되지 않은 것이기에 항상 불안하다. 그래서 예전에 수행했던 정적분석 툴이 떠올라서 C# 지원가능한 정적 분석 툴이 뭐가 있는지 찾아보기 시작했다. 이전엔 정보진흥원에서 제공하는 툴로 분석 의뢰를 맡기고 결과 리포트를 받았는데, 매번 그렇게 의뢰를 맡기고 하기엔 귀찮지 않은가..ㅎㅎ 찾으니까 바로 코드소나가 나온다. 음... 예전에 C++로 만든 프로젝트도 코드소나를 사용했던 것 같은데.. 오, Sonar Qube와 Sonar Lint 라는게 있다. 먼저 Sonar Lint를 찾아보니 VS N.. 더보기
끄적끄적 Effective C# 1. 지역 변수를 사용할 때는 var를 사용하는 것이 낫다. 타입을 명확하게 나타내야 하는 경우가 아니라면 var를 사용하는 것이 좋다. 다만 숫자 타입(int, float, double)등을 선언할 때는 정밀도 때문에 명시적 선언이 좋다. 명확하게 타입을 선언하더라고 가독성이나 안정성이 향상되는 것은 아니다. 올바르게 타입을 명시하지 않은 경우에 var로 선언했을 때 컴파일러의 도움으로 피해갈 수 있는 문제를 강제로 발생시키는 꼴이 될 수도 있다. 2. const보다는 readonly가 좋다. const는 컴파일 상수, readonly는 런타임 상수이다. (컴파일 상수: 컴파일 타임에 값이 설정된다. 숫자형, enum, 문자형, null에 대해서만 사용 가능 중간에 값 변경 시 .. 더보기
[C#/WPF] Joystick 입력 데이터 디스플레이 [MVVM] WPF 기반에서 조이스틱 입력값을 화면에 실시간으로 디스플레이 1. 참조 파일 설정 - Microsoft.DirectX- Microsoft.DirectX.DirectInput 위 2가지 dll 파일 참조가 필요하다. 참조파일 위치는 아래와 같다. (C:\\Windows\...) 그리고 WPF에서 DirectX.DirectInput을 사용하기 위한 패키지를 설치해준다. SharpDX.DirectInput 패키지를 설치하면 아래 패키지 2개가 설치된다. SharpDX의 샘플 코드는 아래 사이트에서 참고하면 된다. SharpDX.DirectInput Sample Code 해당 샘플 코드를 바탕으로 WPF에서 MVVM 패턴으로 소스를 짜봤다. Joystick 입력 값을 받는 Thread를 돌리고 값의 입력이나 .. 더보기
[C#/WPF] FFmpeg로 WebCam / RTP / RTSP 영상 Display & Recode 이전에 웹캠, RTSP 영상을 단순히 출력하는 프로그램을 작성해보았다. 이번에는 출력과 동시에 녹화까지 하도록 수정해 볼 것이다. 시작을 위한 환경설정은 이전 포스팅과 동일하다. [C#/WPF] FFmpeg로 USB Camera(WebCam) Display 하기 - 1 영상 녹화를 위해서는 트랜스코딩을 해야 한다. 물론 비디오 프레임을 읽어서 그대로 파일로 저장할 수도 있지만 대게 입력 비디오의 코덱이 다 다르고 내가 원하는 출력 비디오의 코덱이 다르기 때문이다. (ex. Rawvideo -> H.264) 요즘엔 H.264 코덱을 가장 널리 쓰기 때문에(손실 압축이지만 괜찮은 화질은 보장한다) H.264로 압축해서 비디오 파일을 만들어본다. 트랜스 코딩의 대략적인 과정은 아래 그림과 같다. Input F.. 더보기